@MessageDriven(activationConfig = { @ActivationConfigProperty(propertyName = "destination", propertyValue = "test/ejb/AnswerQueue") }) public class CachedInfoMessageHandlerBean implements MessageListener
*Romain Manni-Bucau* *Twitter: @rmannibucau <https://twitter.com/rmannibucau>* *Blog: **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau* *Github: https://github.com/rmannibucau* 2013/4/23 Howard W. Smith, Jr. <smithh032...@gmail.com> > Yes, I used the TomEE 'simple MDB' example code to develop my MDB code, but > honestly, I 'only' have 'producer' queues and rely on MDB's onMessage() to > process the message. ATM, I am 'not' using 'consumer' queues at all. > > > > > On Tue, Apr 23, 2013 at 4:27 PM, Howard W. Smith, Jr. < > smithh032...@gmail.com> wrote: > > > MessageListener invokes just fine in my app. Two differences between your > > MDB and my MDB. > > > > 1. I added an empty constructor that accepts no arguments. For some > > weeks/months now, one MDB did 'not' have an empty constructor, while the > > other MDB had empty constructor. > > > > 2. I don't @Override the onMessage(...) > > > > Below is one of my MDBs, and they both are pretty much defined this way. > > > > @MessageDriven > > public class EmailMessageDrivenBean implements MessageListener { > > > > private final Boolean debug = true; > > > > private final Logger logger = LoggerFactory.getLogger(getClass()); > > > > @Inject > > private ApplicationScopeBean applicationScopeBean; > > > > /* > > * 2013-03-19 DO NOT USE @EJB AddEmailRequest; use @Inject, since NO > > DEADLOCK > > * ONLY USE @EJB after testing, and if there are NO > DEADLOCK > > */ > > @EJB > > private AddEmailRequest addEmailRequestBean; > > > > public EmailMessageDrivenBean() { > > /* > > * since MDB is pooled, do NOT use to initialize values!!! > > */ > > } > > > > public void onMessage(Message message) { > > > > > > > > > > > > On Tue, Apr 23, 2013 at 1:08 PM, TomeeUser <panve...@gmail.com> wrote: > > > >> > >> I see all messages are send to right queue ( in activeMQ webconsole ) > but > >> MessageListner is not being invoked... I put log statements nothing > >> appears > >> in log...and same client and app works just fine in JBoss... > >> > >> I would really hate to switch back to JBoss as love Tomee for its > >> simplicity. > >> > >> Below are the logs: > >> > >> > >> > >> 20130423 11:43:03 INFO (HostConfig) > >> org.apache.catalina.startup.HostConfig [deployWAR]:Deploying web > >> application > >> archive C:\AppServers\tomee\webapps\TomEEApp.war > >> 20130423 11:43:03 INFO (root) > >> org.apache.tomee.catalina.TomcatWebAppBuilder > >> [init]:------------------------- localhost -> /TomEEApp > >> 20130423 11:43:03 INFO (root) org.apache.openejb.util.JarExtractor > >> [extract]:Extracting jar: C:\AppServers\tomee\webapps\TomEEApp.war > >> 20130423 11:43:03 INFO (root) org.apache.openejb.util.JarExtractor > >> [extract]:Extracted path: C:\AppServers\tomee\webapps\TomEEApp > >> 20130423 11:43:03 INFO (root) > >> > >> > org.apache.openejb.config.ConfigurationFactory[configureApplication]:Configuring > >> enterprise application: C:\AppServers\tomee\webapps\TomEEApp > >> 20130423 11:43:04 INFO (root) > >> org.apache.openejb.config.InitEjbDeployments [deploy]:Auto-deploying ejb > >> CalculatorBean: EjbDeployment(deployment-id=CalculatorBean) > >> 20130423 11:43:04 INFO (root) > >> org.apache.openejb.config.InitEjbDeployments [deploy]:Auto-deploying ejb > >> CachedInfoMessageHandlerBean: > >> EjbDeployment(deployment-id=CachedInfoMessageHandlerBean) > >> 20130423 11:43:04 INFO (root) org.apache.openejb.config.AutoConfig > >> [resolveDestinationLinks]:Auto-configuring a message driven bean > >> CachedInfoMessageHandlerBean destination CachedInfoMessageHandlerBean to > >> be > >> destinationType javax.jms.Queue > >> 20130423 11:43:04 INFO (root) > >> > >> > org.apache.openejb.config.ConfigurationFactory[configureService]:Configuring > >> Service(id=Default JMS Connection Factory, type=Resource, > >> provider-id=Default JMS Connection Factory) > >> 20130423 11:43:04 INFO (root) org.apache.openejb.config.AutoConfig > >> [logAutoCreateResource]:Auto-creating a Resource with id 'Default JMS > >> Connection Factory'of type 'javax.jms.ConnectionFactory for > >> 'CalculatorBean'. > >> 20130423 11:43:04 INFO (root) > >> > >> > org.apache.openejb.config.ConfigurationFactory[configureService]:Configuring > >> Service(id=Default JMS Resource Adapter, type=Resource, > >> provider-id=Default > >> JMS Resource Adapter) > >> 20130423 11:43:04 INFO (root) > >> > >> > org.apache.openejb.config.ConfigurationFactory[configureService]:Configuring > >> Service(id=Default Unmanaged JDBC Database, type=Resource, > >> provider-id=Default Unmanaged JDBC Database) > >> 20130423 11:43:04 INFO (root) > >> org.apache.openejb.assembler.classic.Assembler[createRecipe]:Creating > >> Resource(id=Default Unmanaged JDBC Database) > >> 20130423 11:43:04 INFO (root) > >> org.apache.openejb.assembler.classic.Assembler[createRecipe]:Creating > >> Resource(id=Default JMS Resource Adapter) > >> 20130423 11:43:04 INFO (root) > >> org.apache.openejb.resource.activemq.ActiveMQ5Factory > >> [createBroker]:ActiveMQ5Factory creating broker > >> 20130423 11:43:04 INFO (root) > >> org.apache.openejb.resource.activemq.ActiveMQ5Factory > [createBroker]:Using > >> ActiveMQ startup timeout of 10000ms > >> 20130423 11:43:04 INFO (root) > >> org.apache.openejb.resource.activemq.ActiveMQ5Factory$1 [run]:Starting > >> ActiveMQ BrokerService > >> 20130423 11:43:04 INFO (BrokerService) > >> org.apache.activemq.broker.BrokerService > [doStartPersistenceAdapter]:Using > >> Persistence Adapter: MemoryPersistenceAdapter > >> 20130423 11:43:04 INFO (BrokerService) > >> org.apache.activemq.broker.BrokerService [doStartBroker]:Apache ActiveMQ > >> 5.7.0 (localhost, ID:CND1222QY1-4861-1366731730439-0:2) is starting > >> 20130423 11:43:04 INFO (TransportServerThreadSupport) > >> org.apache.activemq.transport.TransportServerThreadSupport > >> [doStart]:Listening for connections at: tcp://localhost:61616 > >> 20130423 11:43:04 INFO (TransportConnector) > >> org.apache.activemq.broker.TransportConnector [start]:Connector > >> tcp://localhost:61616 Started > >> 20130423 11:43:04 INFO (BrokerService) > >> org.apache.activemq.broker.BrokerService [doStartBroker]:Apache ActiveMQ > >> 5.7.0 (localhost, ID:CND1222QY1-4861-1366731730439-0:2) started > >> 20130423 11:43:04 INFO (BrokerService) > >> org.apache.activemq.broker.BrokerService [doStartBroker]:For help or > more > >> information please see: http://activemq.apache.org > >> 20130423 11:43:04 INFO (root) > >> org.apache.openejb.resource.activemq.ActiveMQ5Factory$1 [run]:Starting > >> ActiveMQ checkpoint > >> 20130423 11:43:04 INFO (root) > >> org.apache.openejb.resource.activemq.ActiveMQ5Factory > >> [createBroker]:ActiveMQ broker started > >> 20130423 11:43:04 INFO (root) > >> org.apache.openejb.assembler.classic.Assembler[createRecipe]:Creating > >> Resource(id=Default JMS Connection Factory) > >> 20130423 11:43:04 INFO (root) > >> org.apache.openejb.assembler.classic.Assembler[createResource]:Creating > >> ConnectionManager for Resource(id=Default JMS Connection Factory) > >> 20130423 11:43:04 INFO (GenericConnectionManager) > >> > >> > org.apache.geronimo.connector.outbound.GenericConnectionManager$InterceptorsImpl > >> [<init>]:No runtime TransactionSupport > >> 20130423 11:43:04 INFO (root) org.apache.openejb.config.AutoConfig > >> [processResourceRef]:Auto-linking resource-ref > >> > >> > 'java:comp/env/test.ejbs.TomEE.beans.CachedInfoMessageHandlerBean/connectionFactory' > >> in bean CalculatorBean to Resource(id=Default JMS Connection Factory) > >> 20130423 11:43:04 INFO (root) > >> > >> > org.apache.openejb.config.ConfigurationFactory[configureService]:Configuring > >> Service(id=AnswerQueue, type=Resource, provider-id=Default Queue) > >> 20130423 11:43:04 INFO (root) org.apache.openejb.config.AutoConfig > >> [logAutoCreateResource]:Auto-creating a Resource with id 'AnswerQueue' > of > >> type 'javax.jms.Queue for 'CalculatorBean'. > >> 20130423 11:43:04 INFO (root) > >> org.apache.openejb.assembler.classic.Assembler[createRecipe]:Creating > >> Resource(id=AnswerQueue) > >> 20130423 11:43:04 INFO (root) org.apache.openejb.config.AutoConfig > >> [processResourceEnvRef]:Auto-linking resource-env-ref > >> 'java:comp/env/AnswerQueue' in bean CalculatorBean to > >> Resource(id=AnswerQueue) > >> 20130423 11:43:04 INFO (root) > >> > >> > org.apache.openejb.config.ConfigurationFactory[configureService]:Configuring > >> Service(id=Default MDB Container, type=Container, provider-id=Default > MDB > >> Container) > >> 20130423 11:43:04 INFO (root) org.apache.openejb.config.AutoConfig > >> [createContainer]:Auto-creating a container for bean > >> CachedInfoMessageHandlerBean: Container(type=MESSAGE, id=Default MDB > >> Container) > >> 20130423 11:43:04 INFO (root) > >> org.apache.openejb.assembler.classic.Assembler[createRecipe]:Creating > >> Container(id=Default MDB Container) > >> 20130423 11:43:04 INFO (root) org.apache.openejb.config.AutoConfig > >> [processResourceRef]:Auto-linking resource-ref > >> > >> > 'java:comp/env/test.ejbs.TomEE.beans.CachedInfoMessageHandlerBean/connectionFactory' > >> in bean CachedInfoMessageHandlerBean to Resource(id=Default JMS > Connection > >> Factory) > >> 20130423 11:43:04 INFO (root) org.apache.openejb.config.AutoConfig > >> [processResourceEnvRef]:Auto-linking resource-env-ref > >> 'java:comp/env/AnswerQueue' in bean CachedInfoMessageHandlerBean to > >> Resource(id=AnswerQueue) > >> 20130423 11:43:04 INFO (root) > >> > >> > org.apache.openejb.config.ConfigurationFactory[configureService]:Configuring > >> Service(id=CachedInfoMessageHandlerBean, type=Resource, > >> provider-id=Default > >> Queue) > >> 20130423 11:43:04 INFO (root) org.apache.openejb.config.AutoConfig > >> [logAutoCreateResource]:Auto-creating a Resource with id > >> 'CachedInfoMessageHandlerBean' of type 'javax.jms.Queue for > >> 'CachedInfoMessageHandlerBean'. > >> 20130423 11:43:04 INFO (root) > >> org.apache.openejb.assembler.classic.Assembler[createRecipe]:Creating > >> Resource(id=CachedInfoMessageHandlerBean) > >> 20130423 11:43:04 INFO (root) > org.apache.openejb.config.AppInfoBuilder > >> [build]:Enterprise application "C:\AppServers\tomee\webapps\TomEEApp" > >> loaded. > >> 20130423 11:43:04 INFO (root) > >> > >> > org.apache.openejb.assembler.classic.Assembler[createApplication]:Assembling > >> app: C:\AppServers\tomee\webapps\TomEEApp > >> 20130423 11:43:04 INFO (root) > >> org.apache.openejb.assembler.classic.JndiBuilder > >> [bind]:Jndi(name=CalculatorBeanLocalBean) --> > >> Ejb(deployment-id=CalculatorBean) > >> 20130423 11:43:04 INFO (root) > >> org.apache.openejb.assembler.classic.JndiBuilder > >> > >> > [bind]:Jndi(name=global/TomEEApp/CalculatorBean!test.ejbs.TomEE.beans.CalculatorBean) > >> --> Ejb(deployment-id=CalculatorBean) > >> 20130423 11:43:04 INFO (root) > >> org.apache.openejb.assembler.classic.JndiBuilder > >> [bind]:Jndi(name=CalculatorBeanRemote) --> > >> Ejb(deployment-id=CalculatorBean) > >> 20130423 11:43:04 INFO (root) > >> org.apache.openejb.assembler.classic.JndiBuilder > >> > >> > [bind]:Jndi(name=global/TomEEApp/CalculatorBean!test.ejbs.TomEE.headers.CalculatorRemote) > >> --> Ejb(deployment-id=CalculatorBean) > >> 20130423 11:43:04 INFO (root) > >> org.apache.openejb.assembler.classic.JndiBuilder > >> > >> > [bind]:Jndi(name=global/TomEEApp/CalculatorBean!test.ejbs.TomEE.headers.CalculatorLocal) > >> --> Ejb(deployment-id=CalculatorBean) > >> 20130423 11:43:04 INFO (root) > >> org.apache.openejb.assembler.classic.JndiBuilder > >> [bind]:Jndi(name=global/TomEEApp/CalculatorBean) --> > >> Ejb(deployment-id=CalculatorBean) > >> 20130423 11:43:04 INFO (root) > >> org.apache.openejb.assembler.classic.JndiBuilder > >> [bind]:Jndi(name=CachedInfoMessageHandlerBean) --> > >> Ejb(deployment-id=CachedInfoMessageHandlerBean) > >> 20130423 11:43:04 INFO (root) org.apache.openejb.cdi.CdiBuilder > >> [initSingleton]:Existing thread singleton service in SystemInstance(): > >> org.apache.openejb.cdi.ThreadSingletonServiceImpl@15c97a42013042311 > :43:04 > >> INFO (root) org.apache.openejb.cdi.OpenEJBLifecycle > >> [startApplication]:OpenWebBeans Container is starting... > >> 20130423 11:43:04 INFO (PluginLoader) > >> org.apache.webbeans.plugins.PluginLoader [startUp]:Adding > >> OpenWebBeansPlugin > >> : [CdiPlugin] > >> 20130423 11:43:04 INFO (PluginLoader) > >> org.apache.webbeans.plugins.PluginLoader [startUp]:Adding > >> OpenWebBeansPlugin > >> : [OpenWebBeansJsfPlugin] > >> 20130423 11:43:04 INFO (root) org.apache.openejb.cdi.BeansDeployer > >> [validateInjectionPoints]:All injection points are validated > successfully. > >> 20130423 11:43:04 INFO (root) org.apache.openejb.cdi.OpenEJBLifecycle > >> [startApplication]:OpenWebBeans Container has started, it took 16 ms. > >> 20130423 11:43:04 INFO (root) > >> org.apache.openejb.assembler.classic.Assembler[startEjbs]:Created > >> Ejb(deployment-id=CalculatorBean, ejb-name=CalculatorBean, > >> container=Default > >> Stateless Container) > >> 20130423 11:43:04 INFO (ActiveMQEndpointWorker) > >> org.apache.activemq.ra.ActiveMQEndpointWorker [start]:Starting20130423 > >> 11:43:04 INFO (root) > >> org.apache.openejb.assembler.classic.Assembler[startEjbs]:Created > >> Ejb(deployment-id=CachedInfoMessageHandlerBean, > >> ejb-name=CachedInfoMessageHandlerBean, container=Default MDB Container) > >> 20130423 11:43:04 INFO (WorkerContext) > >> org.apache.geronimo.connector.work.WorkerContext [run]:Removing > >> non-required > >> WorkContextHandler with no context: > >> org.apache.geronimo.connector.work.TransactionContextHandler@7ed6f6 > >> 20130423 11:43:04 INFO (WorkerContext) > >> org.apache.geronimo.connector.work.WorkerContext [run]:Removing > >> non-required > >> WorkContextHandler with no context: > >> org.apache.openejb.core.security.SecurityContextHandler@14949e620130423 > >> 11:43:04 INFO (root) > >> org.apache.openejb.assembler.classic.Assembler[startEjbs]:Started > >> Ejb(deployment-id=CalculatorBean, ejb-name=CalculatorBean, > >> container=Default > >> Stateless Container) > >> 20130423 11:43:04 INFO (WorkerContext) > >> org.apache.geronimo.connector.work.WorkerContext [run]:Removing > >> non-required > >> WorkContextHandler with no context: > >> org.apache.geronimo.connector.work.HintsContextHandler@1c88d9c > >> 20130423 11:43:04 INFO (root) > >> org.apache.openejb.assembler.classic.Assembler[startEjbs]:Started > >> Ejb(deployment-id=CachedInfoMessageHandlerBean, > >> ejb-name=CachedInfoMessageHandlerBean, container=Default MDB Container) > >> 20130423 11:43:04 INFO (ActiveMQEndpointWorker) > >> org.apache.activemq.ra.ActiveMQEndpointWorker$1 [run]:Establishing > >> connection to broker [vm://localhost?waitForStart=20000&async=true] > >> 20130423 11:43:04 INFO (root) > >> org.apache.tomee.catalina.TomcatWebAppBuilder [deployWebApps]:using > >> context > >> file C:\AppServers\tomee\webapps\TomEEApp\META-INF\context.xml > >> 20130423 11:43:04 INFO (root) > >> > org.apache.openejb.assembler.classic.Assembler[createApplication]:Deployed > >> Application(path=C:\AppServers\tomee\webapps\TomEEApp) > >> 20130423 11:43:04 INFO (TransportConnector) > >> org.apache.activemq.broker.TransportConnector [start]:Connector > >> vm://localhost Started > >> 20130423 11:43:04 INFO (ActiveMQEndpointWorker) > >> org.apache.activemq.ra.ActiveMQEndpointWorker$1 [run]:Successfully > >> established connection to broker > >> [vm://localhost?waitForStart=20000&async=true] > >> > >> > >> > >> -- > >> View this message in context: > >> > http://openejb.979440.n4.nabble.com/Can-not-connect-to-Message-Bean-from-remote-client-Null-pointer-tp4662203p4662407.html > >> Sent from the OpenEJB User mailing list archive at Nabble.com. > >> > > > > >