Skip to content

Commit

Permalink
some dependency upgrades and refactorings
Browse files Browse the repository at this point in the history
  • Loading branch information
Christian Mueller committed May 1, 2015
1 parent 6f9f195 commit 3651390
Show file tree
Hide file tree
Showing 2 changed files with 85 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package org.apache.cmueller.camel.samples.camelone;

import org.apache.activemq.broker.BrokerService;
import org.apache.activemq.usage.SystemUsage;
import org.apache.activemq.usage.TempUsage;

public class ActiveMQUtil {

public static BrokerService createAndStartBroker() throws Exception {
BrokerService broker = new BrokerService();
broker.setPersistent(false);
broker.setUseJmx(false);
broker.setBrokerName("localhost");
broker.addConnector("tcp://localhost:61616");
SystemUsage systemUsage = new SystemUsage();
TempUsage tempUsage = new TempUsage();
tempUsage.setLimit(52428800L);
systemUsage.setTempUsage(tempUsage);
broker.setSystemUsage(systemUsage);
broker.start();

return broker;
}

public static void stopBroker(BrokerService broker) throws Exception {
if (broker != null) {
broker.stop();
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
package org.apache.cmueller.camel.samples.camelone;

import javax.sql.DataSource;

import org.apache.camel.model.ModelCamelContext;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.transaction.TransactionStatus;
import org.springframework.transaction.support.TransactionCallback;
import org.springframework.transaction.support.TransactionCallbackWithoutResult;
import org.springframework.transaction.support.TransactionTemplate;

public class DatabaseUtil {

public static JdbcTemplate createJdbcTemplate(ModelCamelContext context) {
DataSource ds = context.getRegistry().lookupByNameAndType("dataSource", DataSource.class);
return new JdbcTemplate(ds);
}

public static TransactionTemplate createTransactionTemplate(ModelCamelContext context, String transactionManagerName) {
PlatformTransactionManager transactionManager = context.getRegistry().lookupByNameAndType(transactionManagerName, PlatformTransactionManager.class);
return new TransactionTemplate(transactionManager);
}

public static void createAndInitializeDatabase(TransactionTemplate transactionTemplate, final JdbcTemplate jdbc) {
transactionTemplate.execute(new TransactionCallbackWithoutResult() {
@Override
protected void doInTransactionWithoutResult(TransactionStatus status) {
jdbc.execute("CREATE TABLE account (name VARCHAR(50), balance BIGINT)");
jdbc.execute("INSERT INTO account VALUES('foo',1000)");
jdbc.execute("INSERT INTO account VALUES('bar',1000)");
}
});
}

public static void dropDatabase(TransactionTemplate transactionTemplate, final JdbcTemplate jdbc) {
if (transactionTemplate != null && jdbc != null) {
transactionTemplate.execute(new TransactionCallbackWithoutResult() {
@Override
protected void doInTransactionWithoutResult(TransactionStatus status) {
jdbc.execute("DROP TABLE account");
}
});
}
}

public static long queryForLong(TransactionTemplate transactionTemplate, final JdbcTemplate jdbc, final String query) {
return transactionTemplate.execute(new TransactionCallback<Long>() {
@Override
public Long doInTransaction(TransactionStatus status) {
return jdbc.queryForObject(query, Long.class);
}
});
}
}

0 comments on commit 3651390

Please sign in to comment.