diff --git a/examples/camel/camel-sql/camel-sql-datasource-derby/src/main/java/org/apache/servicemix/examples/camel/sql/DatabaseBeanDerby.java b/examples/camel/camel-sql/camel-sql-datasource-derby/src/main/java/org/apache/servicemix/examples/camel/sql/DatabaseBeanDerby.java
index e486877..bedb9b5 100644
--- a/examples/camel/camel-sql/camel-sql-datasource-derby/src/main/java/org/apache/servicemix/examples/camel/sql/DatabaseBeanDerby.java
+++ b/examples/camel/camel-sql/camel-sql-datasource-derby/src/main/java/org/apache/servicemix/examples/camel/sql/DatabaseBeanDerby.java
@@ -34,8 +34,7 @@
     }
 
     public void create() throws SQLException{
-        Statement sta = dataSource.getConnection().createStatement();
-        try {
+        try (Statement sta = dataSource.getConnection().createStatement()) {
             sta.executeUpdate(
                     "CREATE TABLE orders (id INT generated by default as identity, item VARCHAR(50), amount INT, description VARCHAR(300), processed BOOLEAN, consumed BOOLEAN)");
         } catch (SQLException e) {
diff --git a/examples/camel/camel-sql/camel-sql-datasource-h2/src/main/java/org/apache/servicemix/examples/camel/sql/DatabaseBeanH2.java b/examples/camel/camel-sql/camel-sql-datasource-h2/src/main/java/org/apache/servicemix/examples/camel/sql/DatabaseBeanH2.java
index 03a46fb..3e3cbab 100644
--- a/examples/camel/camel-sql/camel-sql-datasource-h2/src/main/java/org/apache/servicemix/examples/camel/sql/DatabaseBeanH2.java
+++ b/examples/camel/camel-sql/camel-sql-datasource-h2/src/main/java/org/apache/servicemix/examples/camel/sql/DatabaseBeanH2.java
@@ -35,8 +35,7 @@
     }
 
     public void create() throws SQLException{
-        Statement sta = dataSource.getConnection().createStatement();
-        try {
+        try (Statement sta = dataSource.getConnection().createStatement()) {
             sta.executeUpdate("CREATE TABLE orders ( id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, item VARCHAR(50), amount INT, description VARCHAR(300), processed BOOLEAN, consumed BOOLEAN);");
         } catch (SQLException e) {
             LOGGER.info("Table orders already exists");
diff --git a/examples/camel/camel-sql/camel-sql-datasource-pgsql/src/main/java/org/apache/servicemix/examples/camel/sql/DatabaseBeanPgSQL.java b/examples/camel/camel-sql/camel-sql-datasource-pgsql/src/main/java/org/apache/servicemix/examples/camel/sql/DatabaseBeanPgSQL.java
index 82593f3..4d9b038 100644
--- a/examples/camel/camel-sql/camel-sql-datasource-pgsql/src/main/java/org/apache/servicemix/examples/camel/sql/DatabaseBeanPgSQL.java
+++ b/examples/camel/camel-sql/camel-sql-datasource-pgsql/src/main/java/org/apache/servicemix/examples/camel/sql/DatabaseBeanPgSQL.java
@@ -34,8 +34,7 @@
     }
 
     public void create() throws SQLException {
-        Statement sta = dataSource.getConnection().createStatement();
-        try {
+        try (Statement sta = dataSource.getConnection().createStatement()) {
             sta.executeUpdate("CREATE SEQUENCE order_id_seq;");
             sta.executeUpdate("CREATE TABLE orders ( id INT NOT NULL PRIMARY KEY DEFAULT nextval('order_id_seq'), item VARCHAR(50), amount INT, description VARCHAR(300), processed BOOLEAN, consumed BOOLEAN);");
         } catch (SQLException e) {
