adding the activemq-core jar to the classpath should fix this error.
then....
I assume you are using a plain java program rather than a javaee
application client. In this case you should not expect to access the
java:comp/env context but should refer to the activemq documentation
on how to use their jndi setup. I also don't think the openejb
property will be helpful.
http://activemq.apache.org/jndi-support.html
If you are using a javaee app client let us know.
thanks
david jencks
On Jan 18, 2009, at 10:35 PM, viola.lu wrote:
HI, axiez:
Have you added activemq-core-****.jar (which contains
org.apache.activemq.jndi.ActiveMQInitialContextFactory) under
$G_Dir\org\apache\activemq\activemq-core\ to your classpath and
buildpath?
Thanks.
Viola.Lu
axiez wrote:
I have the following sample code and jndi.properties file:
import javax.jms.*;
import javax.naming.InitialContext;
import java.util.*;
import java.io.*;
public class LogClient {
public static void main(String[] args) throws Exception {
Properties p = new Properties();
p.load(new FileInputStream("jndi.properties"));
p.put("openejb.authentication.realmName","geronimo-admin");
InitialContext ctx = new InitialContext(p);
TopicConnectionFactory factory = (TopicConnectionFactory)
ctx.lookup("java:comp/env/jms/DefaultActiveMQConnectionFactory");
TopicConnection connection = factory.createTopicConnection();
TopicSession session = connection.createTopicSession(false,
Session.AUTO_ACKNOWLEDGE);
Topic topic = (Topic)ctx.lookup("java:comp/env/jms/Topic");
TopicPublisher publisher = session.createPublisher(topic);
TextMessage msg = session.createTextMessage();
msg.setText("This is a test message");
publisher.send(msg);
publisher.close();
System.out.println("Message published. Please check
application
server's console to see the response from MDB");
}
}
jndi.properties file:
java
.naming
.factory
.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory
java.naming.provider.url=tcp://localhost:61616
java.naming.security.principal=system
java.naming.security.credentials=manager
I ran the program after successful compilation. Error message is:
Exception in thread "main" javax.naming.NoInitialContextException:
Cannot
instantiate class:
org.apache.activemq.jndi.ActiveMQInitialContextFactory
[Root exception is java.lang.ClassNotFoundException:
org.apache.activemq.jndi.ActiveMQInitialContextFactory]
--
View this message in context:
http://www.nabble.com/java.lang.ClassNotFoundException%3A-org.apache.activemq.jndi.ActiveMQInitialContextFactory-tp21537474s134p21537612.html
Sent from the Apache Geronimo - Users mailing list archive at
Nabble.com.