I've been trying to configure the JMSAppender to write to a topic located on a remote 
(JBoss 3.2.3) server.  The client/test application is running on weblogic 6.1 sp2 (on 
the same machine).  It consists of several different EJBs that use log4j.  Here is my 
current configuration.  Notice that the ProviderURL is port 2099.  This was necessary 
to get around a JBoss startup error (port in use conflict), and I can verify that the 
JBoss Naming services are in fact running and listening on port 2099.
 
<appender name="JMS_Appender" class="org.apache.log4j.net.JMSAppender">
     <param name="TopicConnectionFactoryBindingName" value="java:/ConnectionFactory"/>
     <param name="TopicBindingName" value="topic/LoggerTopic"/>
     <param name="ProviderURL" value="jnp://xxx.xxx.xxx.com:2099"/>
     <param name="InitialContextFactoryName" 
value="org.jnp.interfaces.NamingContextFactory"/>
</appender>
 
I've been testing different values for the ProviderURL with no luck.  If it helps, I 
could set the ProviderURL to "whereis.my.mind:2099" and I would get the same error.  
My guess would be this is an indication of a problem with the initial context, but at 
this point I'm blocked and could use a push in the right direction.  I'm new to both 
JMS and Log4j so be gentle (or not).  I would just be happy with a solution.  Thanks! 

Here is the trace...
 
<log4j stuff>....
log4j: Class name: [org.apache.log4j.net.JMSAppender]
log4j: Setting property [topicConnectionFactoryBindingName] to 
[java:/ConnectionFactory].
log4j: Setting property [topicBindingName] to [topic/LoggerTopic].
log4j: Setting property [providerURL] to [jnp://xxx.xxx.xxx.com:2099].
log4j: Setting property [initialContextFactoryName] to 
[org.jnp.interfaces.NamingContextFactory].
log4j: Getting initial context.
log4j: Looking up [java:/ConnectionFactory]
log4j:ERROR Could not find name [java:/ConnectionFactory].
log4j:ERROR Error while activating options for appender named [JMS_Appender].
javax.naming.NameNotFoundException: Unable to resolve ConnectionFactory/ Resolved: '' 
Unresolved:'ConnectionFactory' ; remaining name '' at 
weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException(Basic
NamingNode.java:887)
        at weblogic.jndi.internal.BasicNamingNode.lookupHere(BasicNamingNode.java:219)
        at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:183)
        at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:339)
        at 
weblogic.jndi.factories.java.ReadOnlyContextWrapper.lookup(ReadOnlyContextWrapper.java:36)
        at 
weblogic.jndi.internal.AbstractURLContext.lookup(AbstractURLContext.java:124)
        at javax.naming.InitialContext.lookup(InitialContext.java:350)
        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:247)
        at org.apache.log4j.xml.DOMConfigurator.parseAppender(DOMConfigurator.java:210)
        at 
org.apache.log4j.xml.DOMConfigurator.findAppenderByName(DOMConfigurator.java:140)
        at 
org.apache.log4j.xml.DOMConfigurator.findAppenderByReference(DOMConfigurator.java:153)
        at 
org.apache.log4j.xml.DOMConfigurator.parseChildrenOfLoggerElement(DOMConfigurator.java:415)
        at org.apache.log4j.xml.DOMConfigurator.parseCategory(DOMConfigurator.java:335)
        at org.apache.log4j.xml.DOMConfigurator.parse(DOMConfigurator.java:781)
        at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:666)
        at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:616)
        at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:602)
        at 
org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.java:460)
        at org.apache.log4j.LogManager.<clinit>(LogManager.java:113)
        at org.apache.log4j.Logger.getLogger(Logger.java:94)
       (remaining trace ommited) ...in ejbCreate of the test app EJB
 
 

Reply via email to