logo       

Re: Creating JMS Topics + JNDI: msg#00086

java.geronimo.user

Subject: Re: Creating JMS Topics + JNDI

Hi,

thanks for your answer :

> What is the output from this command?

There is no output to the command, but I found something in the log :

Caused by: org.apache.xmlbeans.XmlException: Invalid deployment descriptor:
[d:\projects\weather\src\resources\geronimo-activemq.xml:0: error: Expected
element(s) in element
resourceadapter-instance@http://geronimo.apache.org/xml/ns/j2ee/connector]
Descriptor: <xml-fragment version="1.5"
configId="weather/jms/TopicsConfiguration"
parentId="org/apache/geronimo/System"
xmlns:con="http://geronimo.apache.org/xml/ns/j2ee/connector";>
<con:resourceadapter>

I guess there is a problem in my file, but I can't seem to find a working
template. can anyone send one to me please ?

My file is :
<connector
xmlns="http://geronimo.apache.org/xml/ns/j2ee/connector";
version="1.5"
configId="weather/jms/TopicsConfiguration"
parentId="org/apache/geronimo/System">

<resourceadapter>
<!-- how to connect to the JMS Server -->
<resourceadapter-instance>
<resourceadapter-name>My JMS Resources</resourceadapter-name>
<config-property-setting
name="ServerUrl">tcp://localhost:61616</config-property-setting>
<config-property-setting name="UserName">system</config-property-setting>
<config-property-setting name="Password">manager</config-property-setting>
</resourceadapter-instance>
<!-- defines a ConnectionFactory -->
<outbound-resourceadapter>
<connection-definition>

<connectionfactory-interface>javax.jms.ConnectionFactory</connectionfactory-interface>
<connectiondefinition-instance>
<name>ConnectionFactory</name>

<implemented-interface>javax.jms.QueueConnectionFactory</implemented-interface>

<implemented-interface>javax.jms.TopicConnectionFactory</implemented-interface>
<connectionmanager>
<xa-transaction>
<transaction-caching />
</xa-transaction>
<single-pool>
<max-size>10</max-size>
<min-size>0</min-size>
<blocking-timeout-milliseconds>
5000
</blocking-timeout-milliseconds>
<idle-timeout-minutes>
0
</idle-timeout-minutes>
<match-one/>
</single-pool>
</connectionmanager>
<global-jndi-name>
jms/ConnectionFactory
</global-jndi-name>
</connectiondefinition-instance>
</connection-definition>
</outbound-resourceadapter>
</resourceadapter>
<!-- defines a Topic -->
<adminobject>
<adminobject-interface>
javax.jms.Topic
</adminobject-interface>
<adminobject-class>
org.codehaus.activemq.message.ActiveMQTopic
</adminobject-class>
<adminobject-instance>
<message-destination-name>jms/weatherTopic</message-destination-name>
<config-property-setting
name="PhysicalName">jms/weatherTopic</config-property-setting>
</adminobject-instance>
</adminobject>
<adminobject>
<adminobject-interface>
javax.jms.Topic
</adminobject-interface>

<adminobject-class>org.codehaus.activemq.message.ActiveMQTopic</adminobject-class>
<adminobject-instance>

<message-destination-name>jms/weatherRequestsTopic</message-destination-name>
<config-property-setting
name="PhysicalName">jms/weatherRequestsTopic</config-property-setting>
</adminobject-instance>
</adminobject>
</connector>


> Is this a standalone non-j2ee client?
This is a standalone client, so ok, I'll try to use activemq.
BTW, does the previous deployment descriptor, when it works, automatically
expose the topics through JNDI ?

and concerning the IBM article, it doesn't seem to use JNDI, just a plain
connection to the JMS provider..

Thanks a lot,
Sami Dalouche

Selon David Jencks <djencks-FwHK5tIWHUxWk0Htik3J/w@xxxxxxxxxxxxxxxx>:

> comments inline
> On Jul 29, 2005, at 7:05 PM, Sami Dalouche wrote:
>
> >
> >
> > Hi,
> >
> > I'm currently trying to
> >
> > 1) Create some JMS Topics
> > 2) Expose a ConnectionFactory + the Topics through JNDI
> >
> > ->
> >
> > I'm using the following RA
> > <connector
> > xmlns="http://geronimo.apache.org/xml/ns/j2ee/connector";
> > version="1.5"
> > configId="weather/jms/TopicsConfiguration"
> > parentId="org/apache/geronimo/System">
> >
> > <resourceadapter>
> > <!-- how to connect to the JMS Server -->
> > <resourceadapter-instance>
> > <resourceadapter-name>My JMS Resources</resourceadapter-name>
> > <config-property-setting
> > name="ServerUrl">tcp://localhost:61616</config-property-setting>
> > <config-property-setting
> > name="UserName">system</config-property-setting>
> > <config-property-setting
> > name="Password">manager</config-property-setting>
> > <workmanager-name>DefaultWorkManager</workmanager-name>
> > </resourceadapter-instance>
> > <!-- defines a ConnectionFactory -->
> > <outbound-resourceadapter>
> > <connection-definition>
> >
> > <connectionfactory-interface>javax.jms.ConnectionFactory</
> > connectionfactory-interface>
> > <connectiondefinition-instance>
> > <name>ConnectionFactory</name>
> >
> > <implemented-interface>javax.jms.QueueConnectionFactory</implemented-
> > interface>
> >
> > <implemented-interface>javax.jms.TopicConnectionFactory</implemented-
> > interface>
> > <connectionmanager>
> > <xa-transaction>
> > <transaction-caching />
> > </xa-transaction>
> > <single-pool>
> > <max-size>10</max-size>
> > <min-size>0</min-size>
> > <blocking-timeout-milliseconds>
> > 5000
> > </blocking-timeout-milliseconds>
> > <idle-timeout-minutes>
> > 0
> > </idle-timeout-minutes>
> > <match-one/>
> > </single-pool>
> > </connectionmanager>
> > <global-jndi-name>
> > jms/ConnectionFactory
> > </global-jndi-name>
> > </connectiondefinition-instance>
> > </connection-definition>
> > </outbound-resourceadapter>
> > </resourceadapter>
> > <!-- defines a Topic -->
> > <adminobject>
> > <adminobject-interface>
> > javax.jms.Topic
> > </adminobject-interface>
> > <adminobject-class>
> > org.codehaus.activemq.message.ActiveMQTopic
> > </adminobject-class>
> > <adminobject-instance>
> >
> > <message-destination-name>jms/weatherTopic</message-destination-name>
> > <config-property-setting
> > name="PhysicalName">jms/weatherTopic</config-property-setting>
> > </adminobject-instance>
> > </adminobject>
> > <adminobject>
> > <adminobject-interface>
> > javax.jms.Topic
> > </adminobject-interface>
> >
> > <adminobject-class>org.codehaus.activemq.message.ActiveMQTopic</
> > adminobject-class>
> > <adminobject-instance>
> >
> > <message-destination-name>jms/weatherRequestsTopic</message-
> > destination-name>
> > <config-property-setting
> > name="PhysicalName">jms/weatherRequestsTopic</config-property-setting>
> > </adminobject-instance>
> > </adminobject>
> > </connector>
> >
> > and deploy it using :
> > D:\geronimo>java -jar bin\deployer.jar deploy
> > d:\projects\weather\src\resources\
> > geronimo-activemq.xml
> > repository\activemq\rars\activemq-ra-3.1-SNAPSHOT.rar
> > Username: system
> > Password: manager
>
> What is the output from this command?
> >
> > Nothing appears in the Geronimo logs.
>
> If you have geronimo running when you run the command above, you should
> see something in geronimo.log. If you don't, you should see something
> in deployer.log.
>
> > I tried to brows Geronimo's JMX with MC4J,
> > and the only thing I could find was a DefaultActiveMQConnectionFactory
> > My factory + topics don't seem to appear through JMX.
>
> You might try the debug console. I haven't tried MC4J myself.
>
> >
> > I also wrote a client :
> > I'm using Spring to get a reference to the Factory and get
> > javax.naming.NameNotFoundException: /jms/weatherRequestsTopic not found
> > at org.openejb.client.JNDIContext.lookup(JNDIContext.java:257)
> > at javax.naming.InitialContext.lookup(Unknown Source)
> > at
> > org.springframework.jndi.JndiTemplate$1.doInContext(JndiTemplate.java:
> > 123)
> >
> > so, it looks like my topic is not exposed through JNDI ? Or even not
> > created ?
> >
> > I'm using the latest geronimo snapshot, and use the openejb 2.0
> > snapshot for my
> > client library (only this jar). Do I need something else ?
>
> Is this a standalone non-j2ee client? If so you will have to use
> instructions from activemq to use activemq. In particular, the openejb
> jndi implementation only exposes ejbs, not any other resources. If you
> have a j2ee app client, and you wish to use jms, you need to deploy a
> copy of the activemq adapter on the client. You can then use the j2ee
> java:comp/env context to find your stuff.
>
> Have you looked at the developerworks article?
>
> http://www-128.ibm.com/developerworks/opensource/library/os-ag-jmsbeans/
>
> I believe it has examples of both j2ee and non j2ee clients.
>
> thanks
> david jencks
>
> >
> > Thank you very much for your help,
> > Sami Dalouche
> >
> > ----------------------------------------------------------------
> > This message was sent using IMP, the Internet Messaging Program.
> >
>
>




----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.



<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise