geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sami Dalouche <sko...@free.fr>
Subject Re: Creating JMS Topics + JNDI
Date Sat, 30 Jul 2005 03:36:19 GMT
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@gluecode.com>:

> 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.

Mime
View raw message