JMS in OpenShift JBoss AS7 Failed to create session factory
chem_euegene Jan 15, 2013 8:36 AMHello! I'm trying to write simple example similar to jboss-as-helloworld-mdb, but I want to embed this code in my Openshift application. Following code works in my localhost on JBoss AS 7.1, but not in Openshift...
Message produser:
@Service @SessionScoped public class LoginServiceImpl implements Serializable, LoginService { private final Logger LOGGER = Logger.getLogger(LoginServiceImpl.class .getName()); private Context context; @Resource(mappedName = "java:/ConnectionFactory") private ConnectionFactory connectionFactory; @Inject private UserService userService; private User currentUser; private Connection connection; private Session session; private MessageProducer producer; @Resource(mappedName = "java:/queue/test") private Queue queue; @PostConstruct public void initJMS() { try { connection = connectionFactory.createConnection(); session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); producer = session.createProducer(queue); connection.start(); } catch (Exception e) { LOGGER.warning(e.getMessage()); } } @Override public boolean login(final String email, final String password) { try { User user = userService.findUser(email, WebUtil.getMD5hash(password)); if (user != null) { currentUser = user; sendTextMessage("User " + email + " has logged in"); return true; } } catch (Exception e) { LOGGER.log(Level.SEVERE, e.getMessage(), e); } return false; } private void sendTextMessage(final String text) { if (session != null) { try { TextMessage message = session.createTextMessage(text); producer.send(message); } catch (JMSException e) { LOGGER.warning(e.getMessage()); } } } }
Message consumer:
@MessageDriven(name = "LoggedUserListener", activationConfig = { @ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue"), @ActivationConfigProperty(propertyName = "destination", propertyValue = "queue/test"), @ActivationConfigProperty(propertyName = "acknowledgeMode", propertyValue = "Auto-acknowledge") }) public class LoggedUserListener implements MessageListener { private final Logger LOGGER = Logger.getLogger(LoggedUserListener.class .getName()); @Override public void onMessage(final Message message) { TextMessage tm = (TextMessage) message; try { LOGGER.info(tm.getText()); } catch (JMSException e) { LOGGER.warning(e.getMessage()); } } }
After deploy application in Openshift, in log following message appears:
2013/01/15 08:08:39,638 WARNING [ru.dpop.auto.server.service.LoginServiceImpl] (http--127.2.106.129-8080-8) Failed to create session factory
This exception is thrown by line in LoginServiceImpl:
connection = connectionFactory.createConnection();
Full log you can find in attach.
Messaging subsystem from config looks like this:
<subsystem xmlns="urn:jboss:domain:messaging:1.1"> <hornetq-server> <clustered>true</clustered> <persistence-enabled>true</persistence-enabled> <!--security-domain>messaging</security-domain--> <security-enabled>false</security-enabled> <journal-file-size>102400</journal-file-size> <journal-min-files>2</journal-min-files> <connectors> <netty-connector name="netty" socket-binding="messaging"/> <netty-connector name="netty-throughput" socket-binding="messaging-throughput"> <param key="batch-delay" value="50"/> </netty-connector> <in-vm-connector name="in-vm" server-id="0"/> </connectors> <acceptors> <netty-acceptor name="netty" socket-binding="messaging"/> <netty-acceptor name="netty-throughput" socket-binding="messaging-throughput"> <param key="batch-delay" value="50"/> <param key="direct-deliver" value="false"/> </netty-acceptor> <in-vm-acceptor name="in-vm" server-id="0"/> </acceptors> <broadcast-groups> <broadcast-group name="bg-group1"> <group-address>231.7.7.7</group-address> <group-port>9876</group-port> <broadcast-period>5000</broadcast-period> <connector-ref> netty </connector-ref> </broadcast-group> </broadcast-groups> <discovery-groups> <discovery-group name="dg-group1"> <group-address>231.7.7.7</group-address> <group-port>9876</group-port> <refresh-timeout>10000</refresh-timeout> </discovery-group> </discovery-groups> <cluster-connections> <cluster-connection name="my-cluster"> <address>jms</address> <connector-ref>netty</connector-ref> <discovery-group-ref discovery-group-name="dg-group1"/> </cluster-connection> </cluster-connections> <!--security-settings> <security-setting match="#"> <permission type="send" roles="guest"/> <permission type="consume" roles="guest"/> <permission type="createNonDurableQueue" roles="guest"/> <permission type="deleteNonDurableQueue" roles="guest"/> </security-setting> </security-settings--> <address-settings> <address-setting match="#"> <dead-letter-address>jms.queue.DLQ</dead-letter-address> <expiry-address>jms.queue.ExpiryQueue</expiry-address> <redelivery-delay>0</redelivery-delay> <max-size-bytes>10485760</max-size-bytes> <address-full-policy>BLOCK</address-full-policy> <message-counter-history-day-limit>10</message-counter-history-day-limit> <redistribution-delay>1000</redistribution-delay> </address-setting> </address-settings> <jms-connection-factories> <connection-factory name="InVmConnectionFactory"> <connectors> <connector-ref connector-name="in-vm"/> </connectors> <entries> <entry name="java:/ConnectionFactory"/> </entries> </connection-factory> <connection-factory name="RemoteConnectionFactory"> <connectors> <connector-ref connector-name="netty"/> </connectors> <entries> <entry name="RemoteConnectionFactory"/> <entry name="java:jboss/exported/jms/RemoteConnectionFactory"/> </entries> </connection-factory> <pooled-connection-factory name="hornetq-ra"> <transaction mode="xa"/> <connectors> <connector-ref connector-name="in-vm"/> </connectors> <entries> <entry name="java:/JmsXA"/> </entries> </pooled-connection-factory> </jms-connection-factories> <jms-destinations> <jms-queue name="testQueue"> <entry name="queue/test"/> <entry name="java:jboss/exported/jms/queue/test"/> </jms-queue> <jms-topic name="testTopic"> <entry name="topic/test"/> <entry name="java:jboss/exported/jms/topic/test"/> </jms-topic> </jms-destinations> </hornetq-server> </subsystem>
Please, help me to reveal problem!
-
server.log.zip 5.3 KB