Error running JNDI client with IBM JVM
lloyd Sep 5, 2005 12:26 PMHi,
I have an instance of JBoss 4.0.2 running with a Sun JDK 1.4.2. I have a message driven bean deployed and I have a standalone client which puts a message on the queue and is processed my the message driven bean.
This all works perfectly when I use the Sun JVM to run the client, but it gives me a nasty stack trace (below) when I run it with a IBM 1.4.1 JVM. I have to run it with the IBM JVM as I will be using the client class as a Java UDF within DB2 (which utilizes the IBM JVM).
Can anyone help?
Thanks,
Lloyd.
Stack trace:
Exception in thread "main" java.lang.NoClassDefFoundError: org/jboss/logging/Logger
at org.jnp.interfaces.NamingContext.(NamingContext.java:143)
at org.jnp.interfaces.NamingContextFactory.getInitialContext(NamingContextFactory.java:41)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:674)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:256)
at javax.naming.InitialContext.init(InitialContext.java:232)
at javax.naming.InitialContext.(InitialContext.java:208)
at MobileUDF.message(MobileUDF.java:38)
at MobileUDF.main(MobileUDF.java:66)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:41)
at java.lang.reflect.Method.invoke(Method.java:386)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:78)
Client class:
import gamesys.mobile.InboundSMSMessage; import javax.jms.*; import javax.naming.Context; import javax.naming.InitialContext; import java.util.Properties; public class MobileUDF { public static String message(String destination, String originator, String body, String messageReference, String sequence, String operator, String tariff, String encoding, String udh, String sessionId) { String response = "worked"; InboundSMSMessage sms = new InboundSMSMessage(destination, originator, body, messageReference, sequence, operator, tariff, encoding, udh, sessionId); try { QueueConnectionFactory myQConnFactory; Queue myQueue; Properties properties = new Properties(); properties.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory"); properties.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces"); properties.put(Context.PROVIDER_URL, "jnp://localhost:1099"); Context ctx = new InitialContext(properties); myQConnFactory = (QueueConnectionFactory)ctx.lookup("ConnectionFactory"); myQueue = (Queue)ctx.lookup("queue/SMSProcessing"); QueueConnection con = myQConnFactory.createQueueConnection(); QueueSession session = con.createQueueSession(false, Session.AUTO_ACKNOWLEDGE); ObjectMessage objectMessage = session.createObjectMessage(sms); QueueSender sender = session.createSender(myQueue); con.start(); sender.send(objectMessage); con.close(); ctx.close(); } catch (Exception e) { Throwable cause = e; while (cause.getCause()!=null) { cause = cause.getCause(); } response = cause.toString(); e.printStackTrace(); } return response; } public static void main(String[] args) { System.out.println(message("1","2","3","4","5","6","7","8","9","10")); } }