tomee-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Martin Vysny <...@whitestein.com>
Subject Re: Specifying source queue for message driven bean (MDB)
Date Wed, 17 Oct 2007 09:10:06 GMT

On Tue, 2007-10-16 at 17:28 -0700, Dain Sundstrom wrote:
> Sounds like you are happy with the MDB configuration but want the  
> queue/FE_QUEUE resource-env-ref in FEInternalServicesEJB to point to  
> queue/FE_QUEUE instead of "Default Queue".
> 
> This error seem very strange because the code that processes resource- 
> env-ref should never create an queue with ID "Default Queue" unless  
> your JNDI reference was named "Default Queue".  I'm gonna guess that  
> you have a resource-ref instead of a resouce-env-ref.
> 
> Can you double check you ejb-jar.xml to see if you have the wrong ref  
> type?
> 

Thanks very much, it works now :) To sum up, we had to put

<resource-env-ref>
<resource-env-ref-name>queue/FE_QUEUE</resource-env-ref-name>
<resource-env-ref-type>javax.jms.Queue</resource-env-ref-type>
</resource-env-ref>

to the stateless bean definition, and

<activation-config-property>
<activation-config-property-name>destination</activation-config-property-name>
<activation-config-property-value>queue/FE_QUEUE</activation-config-property-value>
</activation-config-property>

to the message driven bean definition.

> In the mean time, I've committed a patch the changes these log  
> messages to include the exact reference type.  I'll also look at  
> logging an error or throwing an exception if you use a resource-ref  
> to auto create a queue or topic.
> 
> -dain
> 
> BTW, If my assumptions are correct, I'm surprised you didn't get a  
> null pointer exception when the container attempted to construct an  
> ActimeMQ Queue without a destination name.

Patched that already :-)
https://issues.apache.org/jira/browse/OPENEJB-706

> 
> On Oct 16, 2007, at 7:55 AM, Martin Vysny wrote:
> 
> > Hi guys,
> >   can you help me again? ;) We have a MDB named CallAgentMDB, which  
> > is a
> > message consumer (MessageListener), and FEInternalServicesBean,  
> > which is
> > a stateless bean. The problem is, that the MDB is not receiving  
> > messages
> > which are sent by the internal services bean. When openejb starts, it
> > prints the following:
> >
> > 2007-10-16 16:37:32,401 - INFO  - Configuring Service(id=Default
> > Stateless Container, type=Container, provider-id=Default Stateless
> > Container)
> > 2007-10-16 16:37:32,406 - INFO  - Auto-creating a container for bean
> > FEClientEJB: Container(type=STATELESS, id=Default Stateless Container)
> > 2007-10-16 16:37:32,407 - INFO  - Auto-linking resource reference
> > 'jdbc/DB2DS' in bean FEInternalServicesEJB to Resource(id=Default JDBC
> > Database)
> > 2007-10-16 16:37:32,407 - INFO  - Configuring Service(id=Default JMS
> > Connection Factory, type=Resource, provider-id=Default JMS Connection
> > Factory)
> > 2007-10-16 16:37:32,407 - INFO  - Auto-creating a resource with id
> > 'Default JMS Connection Factory' of type
> > 'javax.jms.QueueConnectionFactory for 'FEInternalServicesEJB'.
> > 2007-10-16 16:37:32,407 - INFO  - Configuring Service(id=Default JMS
> > Resource Adapter, type=Resource, provider-id=Default JMS Resource
> > Adapter)
> > 2007-10-16 16:37:32,408 - INFO  - Auto-linking resource reference
> > 'jms/FE_QCF' in bean FEInternalServicesEJB to Resource(id=Default JMS
> > Connection Factory)
> > 2007-10-16 16:37:32,408 - INFO  - Configuring Service(id=Default  
> > Queue,
> > type=Resource, provider-id=Default Queue)
> > 2007-10-16 16:37:32,408 - INFO  - Auto-creating a resource with id
> > 'Default Queue' of type 'javax.jms.Queue for 'FEInternalServicesEJB'.
> > 2007-10-16 16:37:32,408 - INFO  - Auto-linking resource reference
> > 'queue/FE_QUEUE' in bean FEInternalServicesEJB to Resource(id=Default
> > Queue)
> > 2007-10-16 16:37:32,408 - INFO  - Configuring Service(id=Default MDB
> > Container, type=Container, provider-id=Default MDB Container)
> > 2007-10-16 16:37:32,409 - INFO  - Auto-creating a container for bean
> > CallAgentMDB: Container(type=MESSAGE, id=Default MDB Container)
> > 2007-10-16 16:37:32,409 - INFO  - Configuring Service(id=queue/ 
> > FE_QUEUE,
> > type=Resource, provider-id=Default Queue)
> > 2007-10-16 16:37:32,409 - INFO  - Auto-creating a resource with id
> > 'queue/FE_QUEUE' of type 'javax.jms.Queue for 'CallAgentMDB'.
> > 2007-10-16 16:37:32,409 - INFO  - Auto-linking resource reference
> > 'queue/FE_QUEUE' in bean CallAgentMDB to Resource(id=queue/FE_QUEUE)
> > 2007-10-16 16:37:32,409 - INFO  - Configuring Service(id=CallAgentMDB,
> > type=Resource, provider-id=Default Queue)
> > 2007-10-16 16:37:32,410 - INFO  - Auto-creating a resource with id
> > 'CallAgentMDB' of type 'javax.jms.Queue for 'CallAgentMDB'.
> > 2007-10-16 16:37:32,708 - INFO  - Loaded
> > Module: /home/vyzivus/work/chrysler/fe-trunk/fe-ejb/eclipse-target/ 
> > classes
> >
> > So, we can see that FEInternalServicesEJB posts messages to "Default
> > Queue", while CallAgentMDB expects messages in "queue/FE_QUEUE" queue.
> > How can I set the CallAgentMDB to listen on "Default Queue"? Can you
> > please provide me with some MDB examples on OpenEJB? Thanks!
> > Martin
> >
> > -- 
> > Mgr. Martin Vysny | mvy@whitestein.com
> > Software Engineer
> > Whitestein Technologies s.r.o | www.whitestein.com
> > Panenska 28 | 811 03 Bratislava | Slovak Republic
> > Main +421 2 5443-5502 | Direct +421 2 5930-0717
> >
> 
> 
-- 
Mgr. Martin Vysny | mvy@whitestein.com
Software Engineer
Whitestein Technologies s.r.o | www.whitestein.com
Panenska 28 | 811 03 Bratislava | Slovak Republic
Main +421 2 5443-5502 | Direct +421 2 5930-0717


Mime
View raw message