Bug 1016520 - Provide project -> product supported dependencies matrix
Summary: Provide project -> product supported dependencies matrix
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: JBoss Enterprise Application Platform 6
Classification: JBoss
Component: Build
Version: 6.2.0
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: ---
: ---
Assignee: jboss-set
QA Contact: Petr Kremensky
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-10-08 10:09 UTC by Rostislav Svoboda
Modified: 2019-03-01 12:28 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-03-01 12:28:30 UTC
Type: Bug


Attachments (Terms of Use)

Description Rostislav Svoboda 2013-10-08 10:09:12 UTC
I have discussion with WS developers and we would like to see some guide/doc to point us which jar/dependency is preferred by production.

Example:
WS team is using slf4j-log4j12 quite commonly and maven repo zip doesn't contain this artifact and there are some artifacts (e.g. org.opensaml:openws) which have transitive dependency on org.slf4j:log4j-over-slf4j. And when there are both artifacts on classpath we can see SLF4J: Detected both log4j-over-slf4j.jar AND slf4j-log4j12.jar on the class path, preempting StackOverflowError and issues with tests execution: org.apache.maven.surefire.util.SurefireReflectionException ... Caused by: java.lang.NoClassDefFoundError: Could not initialize class


We have workaround to disable slf4j-log4j12 dependency when using productized bits, but we would like to see some guide/doc to point us which jar/dependency is preferred by production.

Comment 1 Paul Gier 2013-11-13 20:22:03 UTC
The general rule for preferred artifacts, is to use what is included in the EAP runtime.  Since neither of these artifacts (slf4j-log4j12 or log4j-over-slf4j) are in the runtime, I would defer to the dev team to make a recommendation, for each case like this.  

From productization perspective there is not really any difference, but if one is chosen over the other, then we can add it to the Maven repo, and then use the contents of the Maven repo to track which artifacts are preferred.

Comment 2 James Perkins 2013-11-13 20:39:07 UTC
slf4j is a logging facade. slf4j-log4j12 is the binding to log messages from slf4j loggers to the lgo4j log manager.

The log4j-over-slf4j library just uses a log4j logger and delegates to slf4j (at least that's what I think it does).

The bottom line is we shouldn't be using either in production with EAP. In EAP we use jboss-logmanager and we have our own slf4j bindings to talk to jboss-logmanager.

Comment 3 Rostislav Svoboda 2014-01-10 13:17:07 UTC
Moving back to Paul, slf4j related items were explained by James.

I still need your feedback for "... we would like to see some guide/doc to point us which jar/dependency is preferred by production." part.


Note You need to log in before you can comment on or make changes to this bug.