-
1. Re: Could not initialize class org.jboss.logmanager.MDC on Wildfly 9
jamezp Sep 4, 2015 11:56 AM (in response to chandrasachin16)Are you excluding the org.slf4j module and including your own by chance?
--
James R. Perkins
-
2. Re: Could not initialize class org.jboss.logmanager.MDC on Wildfly 9
chandrasachin16 Sep 5, 2015 9:49 AM (in response to jamezp)Hi ,
First of all thanks for your reply.As far as excluding the org.slf4j module is concerned I am not excluding it. I don't have jboss-deploymemt-structure.xml in my ear to exclude it ,neither I am adding any explicit dependencies via the jboss-deploymemt-structure.xml.
What surprises me is that my ear works fine on JBoss AS 7 i.e gets deployed successfully and I can access my webservices,send request and get response but, face issues with the same ear (with no changes) on Wildfly 9. My ear gets deployed on Wildfly 9 , I can also see my wsdl up in browser (deployment is fine ) but, when I send a request via SOAP UI to test the response gives me this issue.
I moved to Wildfly because I have an MDB packaged in jar inside my ear for which I wanted to keep the MDB configurations like destination name(queue name) etc externalized i.e to be inside the server configuration ( in standalone-full.xml which I have already done)
Since the above configuration cannot be done in AS 7 so I moved to Wildfly as it provides a lot many new features.
-
3. Re: Could not initialize class org.jboss.logmanager.MDC on Wildfly 9
jamezp Sep 8, 2015 11:50 AM (in response to chandrasachin16)I'm not sure what the difference would be. Nothing has changed with regards to logging dependencies. I don't know much about how web service implementation works, but maybe it's not copying some context over if it's creating new threads or something. Also make sure you don't have a slf4j library in your EAR.
--
James R. Perkins
-
4. Re: Could not initialize class org.jboss.logmanager.MDC on Wildfly 9
chandrasachin16 Sep 9, 2015 8:12 AM (in response to jamezp)Hi,
Ok now I understand your point when you say ( slf4j library in ear ). My ear structure is as below
AccountEAR.ear
------ META-INF
jcl-over-slf4j-1.5.8.jar
log4j-1.2.16.jar
slf4j-api-1.5.8.jar
slf4j-log4j12-1.5.8.jar
AccountWeb.war
------WEB-INF
------lib
---- AccountEjb.jar
-----other jars
There were 4 jars in my ear which were added in maven dependency ( not sure why it was added) . I changed the packaging structure by moving it into my war as below but still I see the same error. Could this be the error related to slf4j version since my application has different version and Wildfly has different one.
AccountEAR.ear
------ META-INF
AccountWeb.war
------WEB-INF
------lib
AccountEjb.jar
jcl-over-slf4j-1.5.8.jar
log4j-1.2.16.jar
slf4j-api-1.5.8.jar
slf4j-log4j12-1.5.8.jar
-----other jars
I am still wondering how was it working on AS 7.
Regards
Sachin
-
5. Re: Could not initialize class org.jboss.logmanager.MDC on Wildfly 9
chandrasachin16 Sep 9, 2015 9:10 AM (in response to jamezp)Hi,
On more thing I found from the logs which seems interesting -
From the logs what I see in below steps which executes during class loading ---
Loading class org.slf4j.MDC locally from Module "org.slf4j:main"
Attempting to define class org.slf4j.MDC in Module "org.slf4j:main"
Defined class org.slf4j.MDC in Module "org.slf4j:main" from local module loader
Finding class org.slf4j.spi.MDCAdapter from Module "org.slf4j:main"
Finding local class org.slf4j.spi.MDCAdapter from Module "org.slf4j:main"
------------- continue------
Loading class org.slf4j.impl.Slf4jMDCAdapter (It gets the Adapter from the Wildfly)
Attempting to define class org.slf4j.impl.Slf4jMDCAdapter
Defined class org.slf4j.impl.Slf4jMDCAdapter in Module "org.slf4j.impl:main"
Finding class org.jboss.logmanager.MDC from Module "org.slf4j.impl:main"
Finding local class org.jboss.logmanager.MDC from Module "org.jboss.logmanager:main"
but then it didn't loaded the class org.jboss.logmanager.MDC and blows up.
Now as I have removed the slf4j jars from my ear and placed in my war in the WEB-INF/lib folder, so I was expecting it to work properly.From logs it seems the jars from Wildfly are loading properly till org.slf4j.impl.Slf4jMDCAdapter but blows up when it tries to load
class org.jboss.logmanager.MDC
Regards
Sachin
-
6. Re: Could not initialize class org.jboss.logmanager.MDC on Wildfly 9
chandrasachin16 Sep 10, 2015 7:49 AM (in response to jamezp)Hi,
I tried one more thing. In maven dependency I did something like this---
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>${slf4j.version}</version>
<scope>provided</scope> // earlier it was compile in place of provided so changed it to provided and also changed to version to 1.7.7.The slf4j is required by my axis which builds my webservices.
So this removed the slf4j jar in my packaged ear.This does not add any dependency of jar in my ear but, will add the jar provided by my Wildfly server at runtime which is correct way to do but, I still see the same problem with Wildfly 9.0.0 .
Also tried on WildFly 9.0.1 but same behaviour. But same ear works fine on AS 7.
Regards
sachin
-
7. Re: Could not initialize class org.jboss.logmanager.MDC on Wildfly 9
jamezp Sep 10, 2015 2:02 PM (in response to chandrasachin16)I just did a test with slf4j and using org.slf4j.MDC on WildFly 9.0.1.Final and didn't have any issues. Make sure you don't have any of the logging libraries you described above in your deployment. All those will be provided by the container by default.
--
James R. Perkins
-
8. Re: Could not initialize class org.jboss.logmanager.MDC on Wildfly 9
chandrasachin16 Sep 14, 2015 10:02 AM (in response to jamezp)Hi ,
As you suggested I removed those jars but again had those issues.But let me explain you one very interesting thing which I saw while I was doing some trick.
I exported myAccountEjb.jar as a jar file from my eclipse and deployed it it WildFly restarted my server and tried to a put a message.It worked fine without issues.Then I removed this jar without stopping my server and deployed that very same ear which was running into issues.The ear got deployed and this time I again tested the webservices via SOAP UI and this time it worked without issues.It was able to load the org.jboss.logmanager .
What happened with this trick I am not able to understand,but can you throw some light on this.
Though it is not a solution and it's just a trick but can you please let me know any findings from you end.
Regards
sachin
-
9. Re: Could not initialize class org.jboss.logmanager.MDC on Wildfly 9
jamezp Sep 14, 2015 12:09 PM (in response to chandrasachin16)Well from my simple test it works fine. I'm just using a servlet though. I see no reason why that class wouldn't be found unless the wrong SLF4J implementation model is being used.
--
James R. Perkins