Hi folks,

I'm currently working on the same issues because I'm forced to use BEA WebLogic 
Server, but like to continue to use JBoss Seam.

I've tried to patch the current Seam version (2.0.1.GA) to get one step beyond 
the known EJB3 compiler problem. This was quite easy because only one single 
EJB interface is affected:

      org.jboss.seam.async.Dispatcher

I've replaced the varargs definitions (Object...) by Object[], which is what 
the compiler creates anyway from it. For reasons of convenience, I've also 
created an method which completely reduces the method to the non variable parts.

Here's an example:

    public T scheduleTimedEvent(String type, S schedule, Object... parameters);

was turned into:

    public T scheduleTimedEvent(String type, S schedule);
  | public T scheduleTimedEvent(String type, S schedule, Object[] parameters);

Maybe this is not as elegant as the varags solution, but it's a pragmatic way 
to suit our needs as I don't think BEA will fix the related problem in short.

The next problem I stumbled into was a classloading problem related to another 
problem in BEA WebLogic 10.0 MP1. The server only works properly with it's own 
jsf implementation which is not deployed by default. It is packed into a war 
archive located at 

    wlserver_10.0/common/deployable-libraries/jsf-1.2.war

I tried to deploy this archive which failed, so I unpacked it and placed the 
included jars into the 'lib' folder below my weblogic domain root.

After that I found out, that one jboss jar, which is needed to run the 
application under other application servers was missing in the seam 
distribution. I placed this file (concurrent.jar) into the folder lib below by 
test application subproject (examples/jee5/lib).

After some more deployment descriptor related changes, which I will not 
describe in detail, the application seems to work at first. 
Unfortunately I detected runtime failures when playing around with the booking 
application. From time to time the application failed with an 
InvocationTargetException. After hours of code analyzing and debugging, I found 
out that the problem has to be a side effect of different EJB lifecycle 
implementation in WebLogic Server compared to JBoss AS (I don't know which 
behaviour is wrong or right, and I won't judge it here). 

Actually the method postConstruct(...) of class 

    org.jboss.seam.intercept.SessionBeanInterceptor

seems to rule the initialization of this interceptor. This method seems to be 
called before any call of aroundInvoke at JBoss AS. On WebLogic Server this is 
different. As a result of this sometimes the injection field or method invoking 
for a specific object is executed using the reflection fields and methods of 
different component classes. To fix this problem, I've copied the 
initialization calls from method post construct into the method aroundInvoke to 
make sure that it is called prior to the actual invocation. After this change 
the booking demo seems to work perfectly.

I've packed all source changes and the missing jar file into one zip archive 
and will post it into this thread. To use this, simply extract it below the 
exploded distro archive and rebuild first seam and then the jee5/booking demo. 

Best regards,
Christian

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4127228#4127228

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4127228
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to