Hi,
I have written a standalone client using Log4j JMSAppender for publishing messages .I am using Websphere application server 5.0.I have created TopicConection Factory as well as Topic in Websphere .
My Log4j property file is like this:
log4j.rootLogger=DEBUG,A1
log4j.appender.A1=org.apache.log4j.net.JMSAppender
log4j.appender.A1.InitialContextFactoryName=com.ibm.websphere.naming.WsnInitialContextFactory
log4j.appender.A1.ProviderURL=iiop://domain:2809
log4j.appender.A1.TopicConnectionFactoryBindingName=jms/TopicFactoryJNDI
log4j.appender.A1.TopicBindingName=jms/TopicJNDI
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d{DATE} %c %-5p %x- %m%n
and my TestClient
java file has the following code:
import org.apache.log4j.Logger;
import java.util.*;
import java.io.*;
import javax.naming.Context;
import javax.naming.InitialContext;
public class TestJMS {
public static void main(
String[] args) {
try{
Logger log = Logger.getLogger(TestJMS.class);
log.info("Hello this JMS Appender log message"); ;
} catch(Exception e){
System.out.println(e);
}
}
}
I have created a Aplication client Ear file using Assembly Applciation Tool and added java client file ,log4j.properties file and log4j jar file.
and I am running my client using launchClient tool .But its giving me the following error :
WSCL0014I: Invoking the Application Client class TestJMS
log4j:ERROR Could not find name [jms/TopicFactoryJNDI].
log4j:ERROR Error while activating options for appender named [A1].
javax.naming.NameNotFoundException: jms/TopicFactoryJNDI. Root exceptio
n is org.omg.CosNaming.NamingContextPackage.NotFound
at org.omg.CosNaming.NamingContextPackage.NotFoundHelper.read(NotFoundHe
lper.java:48)
at com.ibm.WsnOptimizedNaming._NamingContextStub.resolve_complete_info(U
nknown Source)
at com.ibm.ws.naming.jndicos.CNContextImpl.cosResolve(CNContextImpl.java
:3534)
at com.ibm.ws.naming.jndicos.CNContextImpl.doLookup(CNContextImpl.java:1
565)
at com.ibm.ws.naming.jndicos.CNContextImpl.doLookup(CNContextImpl.java:1
525)
at com.ibm.ws.naming.jndicos.CNContextImpl.lookup(CNContextImpl.java:122
5)
at com.ibm.ws.naming.util.WsnInitCtx.lookup(WsnInitCtx.java:132)
at javax.naming.InitialContext.lookup(InitialContext.java:359)
at org.apache.log4j.net.JMSAppender.lookup(Unknown Source)
at org.apache.log4j.net.JMSAppender.activateOptions(Unknown Source)
at org.apache.log4j.config.PropertySetter.activate(PropertySetter.java:2
47)
at org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.j
ava:123)
at org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.j
ava:87)
at org.apache.log4j.PropertyConfigurator.parseAppender(PropertyConfigura
tor.java:645)
at org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigura
tor.java:603)
at org.apache.log4j.PropertyConfigurator.configureRootCategory(PropertyC
onfigurator.java:500)
at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurato
r.java:406)
at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurato
r.java:432)
at org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionCon
verter.java:460)
at org.apache.log4j.LogManager.<clinit>(LogManager.java:113)
at org.apache.log4j.Logger.getLogger(Logger.java:94)
at TestJMS.main(TestJMS.java:53)
at java.lang.reflect.Method.invoke(Native Method)
at com.ibm.websphere.client.applicationclient.launchClient.createContain
erAndLaunchApp(launchClient.java:616)
at com.ibm.websphere.client.applicationclient.launchClient.main(launchCl
ient.java:420)
at java.lang.reflect.Method.invoke(Native Method)
at com.ibm.ws.bootstrap.WSLauncher.main(WSLauncher.java:94)
I dont understand why???