Tomcat, ActiveMQ, 'jndi.properties' file problem

2006-06-02 Thread Maciej Łabędzki

Hi,
i develope my web application using ActiveMQ and run it under Apache 
Tomcat 5. There is a problem - the 'jndi.properties' file seems to be 
invisible, although it is placed on class path.


Has anybody met such a problem?

Maciej



-
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Tomcat, ActiveMQ, 'jndi.properties' file problem

2006-06-02 Thread Hadraba Petr

Hi Maciej,

I'm connecting from Tomcat to ActiveMQ with this configuration:

META-INF/context.xml:
Context
...
  Resource
  name=jms/ConnectionFactory
  auth=Container
  type=org.apache.activemq.ActiveMQConnectionFactory
  description=JMS Connection Factory
  factory=org.apache.activemq.jndi.JNDIReferenceFactory
  brokerURL=tcp://ws:61616
  brokerName=localhost
  useEmbeddedBroker=false /
  Resource
  name=jms/Test
  auth=Container
  type=org.apache.activemq.command.ActiveMQQueue
  factory=org.apache.activemq.jndi.JNDIReferenceFactory
  physicalName=TEST /
...
/Context


WEB-INF/web.xml:
...
  resource-env-ref

resource-env-ref-namejms/ConnectionFactory/resource-env-ref-name

resource-env-ref-typejavax.jms.ConnectionFactory/resource-env-ref-type
  /resource-env-ref

  resource-env-ref
  resource-env-ref-namejms/Test/resource-env-ref-name
  resource-env-ref-typejavax.jms.Queue/resource-env-ref-type
  /resource-env-ref
...


Hope, it helps...

PETR


On 6/2/06, Maciej Łabędzki [EMAIL PROTECTED] wrote:

Hi,
i develope my web application using ActiveMQ and run it under Apache
Tomcat 5. There is a problem - the 'jndi.properties' file seems to be
invisible, although it is placed on class path.

Has anybody met such a problem?

Maciej



-
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





--
Petr Hadraba
graphic artist and software designer
http://people.hadraba-soft.com/~petr
hadrabap AT bluetone DOT cz


Re: Tomcat, ActiveMQ, 'jndi.properties' file problem

2006-06-02 Thread Maciej Łabędzki

Hadraba Petr napisał(a):

Hi Maciej,

I'm connecting from Tomcat to ActiveMQ with this configuration:


Thx, but how it corresponds to my jndi.properties file?
How should I form my configuration files (context.xml, web.xml)?
jndi.properties:
---
java.naming.factory.initial = 
org.activemq.jndi.ActiveMQInitialContextFactory

brokerURL =ssl://localhost:32450
queue.listenerDestination = dms.PublicLogQueue


Maciej



-
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Tomcat, ActiveMQ, 'jndi.properties' file problem

2006-06-02 Thread Hadraba Petr

Hi,

sorry, I forgot to note, that the resources in the context.xml and
web.xml files are replacements for the jndi.properties. I'm using
Tomcat's build-in JNDI.

It looks like you're using one Queue with the name listenerDestination.

So, try the following:
META-INF/context.xml:
Context
...
 Resource
 name=jms/ConnectionFactory
 auth=Container
 type=org.apache.activemq.ActiveMQConnectionFactory
 description=JMS Connection Factory
 factory=org.apache.activemq.jndi.JNDIReferenceFactory
 brokerURL=ssl://localhost:32450
 brokerName=localhost
 useEmbeddedBroker=false /
 Resource
 name=jms/listenerDestination
 auth=Container
 type=org.apache.activemq.command.ActiveMQQueue
 factory=org.apache.activemq.jndi.JNDIReferenceFactory
 physicalName=dms.PublicLogQueue /
...
/Context

WEB-INF/web.xml:
...
 resource-env-ref

resource-env-ref-namejms/ConnectionFactory/resource-env-ref-name

resource-env-ref-typejavax.jms.ConnectionFactory/resource-env-ref-type
 /resource-env-ref

 resource-env-ref
 
resource-env-ref-namejms/listenerDestination/resource-env-ref-name
 resource-env-ref-typejavax.jms.Queue/resource-env-ref-type
 /resource-env-ref
...


And in the code you can obtain the Destination using
 try {
  InitialContext ic = new InitialContext();
  Context ctx = (Context) ic.lookup(java:comp/env);

  ConnectionFactory cf = (ConnectionFactory)
ctx.lookup(jms/ConnectionFactory);
  Connection conn = (Connection) cf.createConnection();
  conn.start();

  Session s = conn.createSession(false,
Session.CLIENT_ACKNOWLEDGE);
  Destination d = (Destination)
ctx.lookup(jms/listenerDestination);

  MessageProducer mp = s.createProducer(d);
  mp.setDeliveryMode(DeliveryMode.PERSISTENT);

  TextMessage tm = s.createTextMessage();
  tm.setText(Foo);

  mp.send(tm);

  tm = s.createTextMessage();
  tm.setText(Bar);

  mp.send(tm);

  conn.close();
  } catch (Exception e) {
  e.printStackTrace();
  }
...


If you want to run ActiveMQ under Tomcat, not as standalone broker,
specify useEmbeddedBroker=true in the context.xml.

The Resource tags can be also placed in the server.xml, but I have bad
experience with JDBC resources there, so I didn't try it.


Try the configuration above. This must work for you!

PETR


On 6/2/06, Maciej Łabędzki [EMAIL PROTECTED] wrote:

Hadraba Petr napisał(a):
 Hi Maciej,

 I'm connecting from Tomcat to ActiveMQ with this configuration:

Thx, but how it corresponds to my jndi.properties file?
How should I form my configuration files (context.xml, web.xml)?
jndi.properties:
---
java.naming.factory.initial =
org.activemq.jndi.ActiveMQInitialContextFactory
brokerURL =ssl://localhost:32450
queue.listenerDestination = dms.PublicLogQueue


Maciej



-
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





--
Petr Hadraba
graphic artist and software designer
http://people.hadraba-soft.com/~petr
hadrabap AT bluetone DOT cz