OK.
Thanks Dan and Jason for the answer.

Q and remarks about logging in Seam 3 and about your answer:
- I tough that slf4j was a "logging back-end". I thought it was only another abstraction layer similar to commons-logging and JBoss-Logging. It seems over complicated that JBoss-logging (abstract layer) delegates to another abstract layer(slf4j) that delegates to a concrete implementation (log4j, JBoss-LogManager or JDK). You surely already discussed this before but it sounds strange for a newcomer in the world of Seam 3

- The Seam 3 CR2 distributes one concrete log implementation (log4j) and JDK logger is implicitly there too. Why distribute log4j.jar and not JBoss LogManager.jar? It seems not consistent here. IMHO, either distribute both (as optional libs) or none and default to jdk, the "default common log backend" to all application servers

- the way slf4j configure the logger backend is great and can not be simpler. I hope JBoss-logging will be as simple as slf4j in the future (just drop a jar that contains the binder and the backend impl jar)

- I don't use maven yet and assemble the booking app in RSA v8.0 by hand in a tentative to better understand what is needed to deploy. I try here to use as much as possible what is provided by WAS (JPA, JSF, CDI etc.) and so not to include "alien implementation" jars (hibernate, jsf-ri, weld, jboss-AS-loggers etc.) .
That not that easy considering that  WAS v8.0 is also a beta version.. Similar to what you had to live with JBoss-AS v6..

I included jboss-logmanager.jar in my app and was able to go a little further (slf4j complains about "Class path contains multiple SLF4J bindings". i will sort this out later).

I then had a problem with an illegal acces to the constructor of org.jboss.seam.servlet.ServletExtension. Declaring it "public" solved the problem. I didn't investigated to know if is is a bug of seam-servlet or in WAS

And now I'm stuck wit the following exception at startup also related to logging:
Caused by: java.lang.IllegalArgumentException: Invalid bundle interface org.jboss.seam.servlet.messages.ServletMessages (implementation not found)
    at org.jboss.seam.solder.logging.Messages.getBundle(Messages.java:92)
    at org.jboss.seam.solder.logging.Messages.getBundle(Messages.java:54)
    at org.jboss.seam.servlet.ServletExtension.<init>(ServletExtension.java:70)


Denis

On 03/19/2011 03:38 PM, Dan Allen wrote:
On Sat, Mar 19, 2011 at 13:57, Denis Forveille <denis.forveille@gmail.com> wrote:
I'm trying to deploy the seam-booking example in WebSphere v8 beta without succes now

One of the problem is that the class  "org.jboss.logging.JBossLogManagerLogger" (In seam-solder.jar)  needs org.jboss.logmanager.Logger
I can not find this class in the CR2 distribution
Has this class been forgotten or is it a hard dependency on some JBoss-AS lib?


You should not need this class. My guess is an overeager scanner that's trying to look for classes that are optional :) We've seen this in earlier versions of JBoss AS and GlassFish, but since have been resolved.

Real quick background. Seam Solder bundles JBoss Logging 3. JBoss Logging 3 is an abstraction layer over the main logging backends, one of which is the JBoss LogManager (others are slf4j, log4j and jdk14). JBoss Logging 3 will select which one to use based on what is on the classpath.

Having said that, the *way* JBoss Logging 3 searches for a logging provider is not pretty. We are in the process of making that more robust and configurable (to force a provider).

If, in fact, you are seeing this error because of an overeager scanner, the only way around it is to include all the logging APIs on the classpath. But that is not the long term solution.

      <dependency>
         <groupId>org.slf4j</groupId>
         <artifactId>slf4j-api</artifactId>
         <scope>runtime</scope>
         <version>1.5.10</version>
      </dependency>

      <dependency>
         <groupId>org.jboss.logmanager</groupId>
         <artifactId>jboss-logmanager</artifactId>
         <version>1.2.0.CR4</version>
         <scope>runtime</scope>
      </dependency>

      <dependency>
         <groupId>log4j</groupId>
         <artifactId>log4j</artifactId>
         <version>1.2.14</version>
         <scope>runtime</scope>
      </dependency>

-Dan
 
--
Dan Allen
Principal Software Engineer, Red Hat | Author of Seam in Action
Registered Linux User #231597

http://www.google.com/profiles/dan.j.allen#about
http://mojavelinux.com
http://mojavelinux.com/seaminaction