---
JMSConnectionPassword: manager
JMSConnectionUrl: "tcp://localhost:61613"
JMSConnectionUser: system
destinations: - destinantionName: test.queue
destinationType: queue
lastSequenceReceived: -1
lastSequenceSent: -1
operationType: publish
ActiveMQClient client = new ActiveMQClient("config.yml");
client.connect();
long sentSeq = client.publishToQueueAsBytes("HELLO", "test.queue");
client.disconenct();
ActiveMQClient client1 = new ActiveMQClient("config_1.yml");
client1.connect();
String text = client1.receiveBytesMessageFromQueueIntoString("test.queue");
client1.disconenct();
DROP TABLE IF EXISTS `openjmsadapter`.`jms_connection_parameters`;
CREATE TABLE `openjmsadapter`.`jms_connection_parameters` (`id` bigint(20) NOT NULL,
`url` varchar(255) DEFAULT NULL,
`username` varchar(255) DEFAULT NULL,
`password` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
)
DROP TABLE IF EXISTS `openjmsadapter`.`jms_destination_parameters`;
CREATE TABLE `openjmsadapter`.`jms_destination_parameters` (`id` bigint(20) NOT NULL,
`destinationName` varchar(255) DEFAULT NULL,
`destinationType` varchar(255) DEFAULT NULL,
`operationType` varchar(255) DEFAULT NULL,
`lastSequenceSent` bigint(20) DEFAULT NULL,
`lastSequenceReceived` bigint(20) DEFAULT NULL,
PRIMARY KEY (`id`)
)
<?xml version="1.0" encoding="UTF-8"?><br />
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "<span class="url-link"><a href="http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd</a></span>"><br />
<hibernate-configuration><ul><session-factory><ul><property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property><br />
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property><br />
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/openjmsadapter</property><br />
<property name="hibernate.connection.username">root</property><br />
<property name="hibernate.connection.password">admin</property><br />
<property name="hibernate.connection.pool_size">1</property><br />
<property name="hibernate.show_sql">true</property><br />
<property name="hibernate.connection.autocommit">true</property><br />
<property name="hibernate.hbm2ddl.auto">update</property><br />
<property name="hibernate.current_session_context_class">thread</property><br />
<mapping class="com.openjmsadapter.configuration.database.JmsConnectionParameters" package="com.openjmsadapter.configuration.database" resource="com/openjmsadapter/configuration/database/JmsConnectionParameters.hbm.xml"/><br />
<mapping class="com.openjmsadapter.configuration.database.JmsDestinationParameters.hbm" package="com.openjmsadapter.configuration.database" resource="com/openjmsadapter/configuration/database/JmsDestinationParameters.hbm.xml"/></ul>
</session-factory></ul>
</hibernate-configuration>
ActiveMQClient client = new ActiveMQClient("config.yml");
client.connect();
long sentSeq = client.publishToQueueAsBytes("HELLO", "test.queue");
client.disconenct();
ActiveMQClient client1 = new ActiveMQClient("config_1.yml");
client1.connect();
String text = client1.receiveBytesMessageFromQueueIntoString("test.queue");
client1.disconenct();
public class XyzMQClient extends YamlConfigClient{
private static Logger logger = Logger.getLogger("OpenJMSAdapter");
private XyzMQConnectionFactoryBuilder connectionFactoryBuilder;
public XyzMQClient(String configFileName) throws FileNotFoundException {super(configFileName);
}
public void disconnect() throws OpenJMSAdapterException {disconnectJMSConnection();
}
public void reconnectWith(long timeout) throws OpenJMSAdapterException {delayedReconnect(timeout);
}
public void connect() throws OpenJMSAdapterException {logger.info("Creating connection factory");
connectionFactoryBuilder = new XyzMQConnectionFactoryBuilder();
logger.info("Completed creating connection factory.");
connectUsingFactoryWithUsernamePassword(connectionFactoryBuilder.getConnectionFactory(getConfig()));
//or simply
//connectUsingFactory(connectionFactoryBuilder.getConnectionFactory(getConfig()));
}
public class XyzMQConnectionFactoryBuilder {
private static Logger logger = Logger.getLogger("OpenJMSAdapter");
private ConnectionFactory connectionFactory;
public XyzMQConnectionFactoryBuilder() {//do nothing
}
public ConnectionFactory getConnectionFactory(AdapterConfiguration config) throws OpenJMSAdapterException {try{
if (connectionFactory == null) {logger.debug("Creating XyzMQ conenction factory with Yaml configuration");
XyzMQConnectionFactory factory=new XyzMQConnectionFactory();
...
//the code to set any other properties etc
...
connectionFactory =factory;
logger.debug("Completed creating XyzMQ conenction factory with Yaml configuration");
return connectionFactory;
} else {logger.debug("Returning already existing XyzMQ conenction factory");
return connectionFactory;
}
}catch(JMSException jmse){throw new OpenJMSAdapterException("Error creating OpenMQConnectionFactory", jmse);
}
}
}