|
List Info
Thread: Created: (JBSEAM-2592) Seam 2.0.1 GA patched to support BEA WebLogic
|
|
| Created: (JBSEAM-2592) Seam 2.0.1 GA
patched to support BEA WebLogic |

|
2008-02-07 01:25:03 |
Seam 2.0.1 GA patched to support BEA WebLogic Server 10.x
with EJB3 support
------------------------------------------------------------
---------------
Key: JBSEAM-2592
URL: http://
jira.jboss.com/jira/browse/JBSEAM-2592
Project: JBoss Seam
Issue Type: Patch
Components: Platform interoperability
Affects Versions: 2.0.1.GA
Environment: BEA WebLogic Server 10.0 MP1
Reporter: lauerc
Priority: Blocker
Fix For: 2.0.1.GA
Hi folks,
I'm currently in working on the meanwhile old WebLogic
compatibility issue, which is a show stopper for products
which are forced to run in an BEA environment and rely on
EJB features.
The current situation is that the EJB3 compiler of WebLogic
Server 10.x doesn't deploy JBoss Seam applications, because
it doesn't support EJB3 interfaces containing methods with
varars (Object...) definitions. This is obviously a bug, but
it's known by the vendor of WebLogic for more than a year
and meanwhile I don't believe anymore that is going to be
fixed in short. This situation is critical for many
projects, since this is a killer arguments against JBoss
Seam.
Since it is more or less unknown what more supprises this
mix brings, I started an affort to patch the current JBoss
Seam version (2.0.1.GA) to work wis BEA WebLogic 10.0 MP1.
First of all I've replaced the varargs in interfaces 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've 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
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the
administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atl
assian.com/software/jira
_______________________________________________
jbossseam-issues mailing list
jbossseam-issues lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jbossseam-issu
es
|
|
| Updated: (JBSEAM-2592) Seam 2.0.1 GA
patched to support BEA WebLogic |

|
2008-02-07 01:27:05 |
[ http://jira.jboss.com/jira/browse/JBSEAM-2592?page=all
]
lauerc updated JBSEAM-2592:
---------------------------
Attachment: jboss-seam-2.0.1.GA-patches.zip
Patches for JBoss Seam 2.0.1.GA to gain WebLogic Server
compatibility.
> Seam 2.0.1 GA patched to support BEA WebLogic Server
10.x with EJB3 support
>
------------------------------------------------------------
---------------
>
> Key: JBSEAM-2592
> URL: http://
jira.jboss.com/jira/browse/JBSEAM-2592
> Project: JBoss Seam
> Issue Type: Patch
> Components: Platform interoperability
> Affects Versions: 2.0.1.GA
> Environment: BEA WebLogic Server 10.0 MP1
> Reporter: lauerc
> Priority: Blocker
> Fix For: 2.0.1.GA
>
> Attachments: jboss-seam-2.0.1.GA-patches.zip
>
>
> Hi folks,
> I'm currently in working on the meanwhile old WebLogic
compatibility issue, which is a show stopper for products
which are forced to run in an BEA environment and rely on
EJB features.
> The current situation is that the EJB3 compiler of
WebLogic Server 10.x doesn't deploy JBoss Seam applications,
because it doesn't support EJB3 interfaces containing
methods with varars (Object...) definitions. This is
obviously a bug, but it's known by the vendor of WebLogic
for more than a year and meanwhile I don't believe anymore
that is going to be fixed in short. This situation is
critical for many projects, since this is a killer arguments
against JBoss Seam.
> Since it is more or less unknown what more supprises
this mix brings, I started an affort to patch the current
JBoss Seam version (2.0.1.GA) to work wis BEA WebLogic 10.0
MP1.
> First of all I've replaced the varargs in interfaces 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've 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
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the
administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atl
assian.com/software/jira
_______________________________________________
jbossseam-issues mailing list
jbossseam-issues lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jbossseam-issu
es
|
|
| Updated: (JBSEAM-2592) Seam 2.0.1 GA
patched to support BEA WebLogic |

|
2008-02-07 13:11:04 |
[ http://jira.jboss.com/jira/browse/JBSEAM-2592?page=all
]
Norman Richards updated JBSEAM-2592:
------------------------------------
Fix Version/s: (was: 2.0.1.GA)
> Seam 2.0.1 GA patched to support BEA WebLogic Server
10.x with EJB3 support
>
------------------------------------------------------------
---------------
>
> Key: JBSEAM-2592
> URL: http://
jira.jboss.com/jira/browse/JBSEAM-2592
> Project: JBoss Seam
> Issue Type: Patch
> Components: Platform interoperability
> Affects Versions: 2.0.1.GA
> Environment: BEA WebLogic Server 10.0 MP1
> Reporter: lauerc
> Priority: Blocker
> Attachments: jboss-seam-2.0.1.GA-patches.zip
>
>
> Hi folks,
> I'm currently in working on the meanwhile old WebLogic
compatibility issue, which is a show stopper for products
which are forced to run in an BEA environment and rely on
EJB features.
> The current situation is that the EJB3 compiler of
WebLogic Server 10.x doesn't deploy JBoss Seam applications,
because it doesn't support EJB3 interfaces containing
methods with varars (Object...) definitions. This is
obviously a bug, but it's known by the vendor of WebLogic
for more than a year and meanwhile I don't believe anymore
that is going to be fixed in short. This situation is
critical for many projects, since this is a killer arguments
against JBoss Seam.
> Since it is more or less unknown what more supprises
this mix brings, I started an affort to patch the current
JBoss Seam version (2.0.1.GA) to work wis BEA WebLogic 10.0
MP1.
> First of all I've replaced the varargs in interfaces 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've 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
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the
administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atl
assian.com/software/jira
_______________________________________________
jbossseam-issues mailing list
jbossseam-issues lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jbossseam-issu
es
|
|
| Updated: (JBSEAM-2592) Seam 2.0.1 GA
patched to support BEA WebLogic |

|
2008-02-10 18:22:03 |
[ http://jira.jboss.com/jira/browse/JBSEAM-2592?page=all
]
Pete Muir updated JBSEAM-2592:
------------------------------
Fix Version/s: 2.1.0.GA
Assignee: Pete Muir
I will look at the interceptor issue.
The timer issue we will work around by not supporting EJB
timers in WLS
> Seam 2.0.1 GA patched to support BEA WebLogic Server
10.x with EJB3 support
>
------------------------------------------------------------
---------------
>
> Key: JBSEAM-2592
> URL: http://
jira.jboss.com/jira/browse/JBSEAM-2592
> Project: JBoss Seam
> Issue Type: Patch
> Components: Platform interoperability
> Affects Versions: 2.0.1.GA
> Environment: BEA WebLogic Server 10.0 MP1
> Reporter: lauerc
> Assigned To: Pete Muir
> Priority: Blocker
> Fix For: 2.1.0.GA
>
> Attachments: jboss-seam-2.0.1.GA-patches.zip
>
>
> Hi folks,
> I'm currently in working on the meanwhile old WebLogic
compatibility issue, which is a show stopper for products
which are forced to run in an BEA environment and rely on
EJB features.
> The current situation is that the EJB3 compiler of
WebLogic Server 10.x doesn't deploy JBoss Seam applications,
because it doesn't support EJB3 interfaces containing
methods with varars (Object...) definitions. This is
obviously a bug, but it's known by the vendor of WebLogic
for more than a year and meanwhile I don't believe anymore
that is going to be fixed in short. This situation is
critical for many projects, since this is a killer arguments
against JBoss Seam.
> Since it is more or less unknown what more supprises
this mix brings, I started an affort to patch the current
JBoss Seam version (2.0.1.GA) to work wis BEA WebLogic 10.0
MP1.
> First of all I've replaced the varargs in interfaces 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've 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
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the
administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atl
assian.com/software/jira
_______________________________________________
jbossseam-issues mailing list
jbossseam-issues lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jbossseam-issu
es
|
|
| Commented: (JBSEAM-2592) Seam 2.0.1 GA
patched to support BEA WebLog |

|
2008-02-10 18:22:04 |
[ http://jira.jboss.com/jira/browse/JBS
EAM-2592?page=comments#action_12399051 ]
Pete Muir commented on JBSEAM-2592:
-----------------------------------
Can you please post the interceptor changes separately in a
diff format?
> Seam 2.0.1 GA patched to support BEA WebLogic Server
10.x with EJB3 support
>
------------------------------------------------------------
---------------
>
> Key: JBSEAM-2592
> URL: http://
jira.jboss.com/jira/browse/JBSEAM-2592
> Project: JBoss Seam
> Issue Type: Patch
> Components: Platform interoperability
> Affects Versions: 2.0.1.GA
> Environment: BEA WebLogic Server 10.0 MP1
> Reporter: lauerc
> Assigned To: Pete Muir
> Priority: Blocker
> Fix For: 2.1.0.GA
>
> Attachments: jboss-seam-2.0.1.GA-patches.zip
>
>
> Hi folks,
> I'm currently in working on the meanwhile old WebLogic
compatibility issue, which is a show stopper for products
which are forced to run in an BEA environment and rely on
EJB features.
> The current situation is that the EJB3 compiler of
WebLogic Server 10.x doesn't deploy JBoss Seam applications,
because it doesn't support EJB3 interfaces containing
methods with varars (Object...) definitions. This is
obviously a bug, but it's known by the vendor of WebLogic
for more than a year and meanwhile I don't believe anymore
that is going to be fixed in short. This situation is
critical for many projects, since this is a killer arguments
against JBoss Seam.
> Since it is more or less unknown what more supprises
this mix brings, I started an affort to patch the current
JBoss Seam version (2.0.1.GA) to work wis BEA WebLogic 10.0
MP1.
> First of all I've replaced the varargs in interfaces 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've 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
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the
administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atl
assian.com/software/jira
_______________________________________________
jbossseam-issues mailing list
jbossseam-issues lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jbossseam-issu
es
|
|
| Commented: (JBSEAM-2592) Seam 2.0.1 GA
patched to support BEA WebLog |

|
2008-02-11 11:13:03 |
[ http://jira.jboss.com/jira/browse/JBS
EAM-2592?page=comments#action_12399142 ]
lauerc commented on JBSEAM-2592:
--------------------------------
Hi Pete,
the patch of the session bean is quite small. Only the
method aroundInvoke(InvocationContext) is affected.
I've marked it with START/END comments. You should be able
to detect it easily.
Here's the snippet:
AroundInvoke
public Object aroundInvoke(InvocationContext invocation)
throws Exception
{
// START: changed by lauerc
//System.out.println("SESSIONBEANINTERCEPTOR::aroundInv
oke: " + invocation.getTarget().getClass().getName() +
", COMPONENT: '" + getComponentName() + "'
...");
Component invokingComponent =
SessionBeanInterceptor.COMPONENT.get();
Object bean = invocation.getTarget();
if ( invokingComponent!=null &&
invokingComponent.getBeanClass().isInstance(bean) )
{
init(invokingComponent);
}
// END: changed by lauerc
return invoke( new EJBInvocationContext(invocation),
EventType.AROUND_INVOKE);
}
Furthermore I've got news from the BEA front: I was able to
fix the varars problem.
Unfortunately I discovered that the fix just works for my
simple example, the affected Seam Component still doesn't
deploy.
I've managed to reproduce this problem and openend another
case.
I hope the problem will be finally fixed in short. I'll keep
you up to date.
Best regards,
Christian
> Seam 2.0.1 GA patched to support BEA WebLogic Server
10.x with EJB3 support
>
------------------------------------------------------------
---------------
>
> Key: JBSEAM-2592
> URL: http://
jira.jboss.com/jira/browse/JBSEAM-2592
> Project: JBoss Seam
> Issue Type: Patch
> Components: Platform interoperability
> Affects Versions: 2.0.1.GA
> Environment: BEA WebLogic Server 10.0 MP1
> Reporter: lauerc
> Assigned To: Pete Muir
> Priority: Blocker
> Fix For: 2.1.0.GA
>
> Attachments: jboss-seam-2.0.1.GA-patches.zip
>
>
> Hi folks,
> I'm currently in working on the meanwhile old WebLogic
compatibility issue, which is a show stopper for products
which are forced to run in an BEA environment and rely on
EJB features.
> The current situation is that the EJB3 compiler of
WebLogic Server 10.x doesn't deploy JBoss Seam applications,
because it doesn't support EJB3 interfaces containing
methods with varars (Object...) definitions. This is
obviously a bug, but it's known by the vendor of WebLogic
for more than a year and meanwhile I don't believe anymore
that is going to be fixed in short. This situation is
critical for many projects, since this is a killer arguments
against JBoss Seam.
> Since it is more or less unknown what more supprises
this mix brings, I started an affort to patch the current
JBoss Seam version (2.0.1.GA) to work wis BEA WebLogic 10.0
MP1.
> First of all I've replaced the varargs in interfaces 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've 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
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the
administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atl
assian.com/software/jira
_______________________________________________
jbossseam-issues mailing list
jbossseam-issues lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jbossseam-issu
es
|
|
| Updated: (JBSEAM-2592) Seam 2.0.1 GA
patched to support BEA WebLogic |

|
2008-02-11 13:00:27 |
[ http://jira.jboss.com/jira/browse/JBSEAM-2592?page=all
]
Norman Richards updated JBSEAM-2592:
------------------------------------
Fix Version/s: 2.1.0.GA
(was: 2.1.0.A1)
> Seam 2.0.1 GA patched to support BEA WebLogic Server
10.x with EJB3 support
>
------------------------------------------------------------
---------------
>
> Key: JBSEAM-2592
> URL: http://
jira.jboss.com/jira/browse/JBSEAM-2592
> Project: JBoss Seam
> Issue Type: Patch
> Components: Platform interoperability
> Affects Versions: 2.0.1.GA
> Environment: BEA WebLogic Server 10.0 MP1
> Reporter: lauerc
> Assigned To: Pete Muir
> Priority: Blocker
> Fix For: 2.1.0.GA
>
> Attachments: jboss-seam-2.0.1.GA-patches.zip
>
>
> Hi folks,
> I'm currently in working on the meanwhile old WebLogic
compatibility issue, which is a show stopper for products
which are forced to run in an BEA environment and rely on
EJB features.
> The current situation is that the EJB3 compiler of
WebLogic Server 10.x doesn't deploy JBoss Seam applications,
because it doesn't support EJB3 interfaces containing
methods with varars (Object...) definitions. This is
obviously a bug, but it's known by the vendor of WebLogic
for more than a year and meanwhile I don't believe anymore
that is going to be fixed in short. This situation is
critical for many projects, since this is a killer arguments
against JBoss Seam.
> Since it is more or less unknown what more supprises
this mix brings, I started an affort to patch the current
JBoss Seam version (2.0.1.GA) to work wis BEA WebLogic 10.0
MP1.
> First of all I've replaced the varargs in interfaces 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've 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
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the
administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atl
assian.com/software/jira
_______________________________________________
jbossseam-issues mailing list
jbossseam-issues lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jbossseam-issu
es
|
|
| Updated: (JBSEAM-2592) Seam 2.0.1 GA
patched to support BEA WebLogic |

|
2008-02-11 14:49:03 |
[ http://jira.jboss.com/jira/browse/JBSEAM-2592?page=all
]
Pete Muir updated JBSEAM-2592:
------------------------------
Priority: Minor (was: Blocker)
> Seam 2.0.1 GA patched to support BEA WebLogic Server
10.x with EJB3 support
>
------------------------------------------------------------
---------------
>
> Key: JBSEAM-2592
> URL: http://
jira.jboss.com/jira/browse/JBSEAM-2592
> Project: JBoss Seam
> Issue Type: Patch
> Components: Platform interoperability
> Affects Versions: 2.0.1.GA
> Environment: BEA WebLogic Server 10.0 MP1
> Reporter: lauerc
> Assigned To: Pete Muir
> Priority: Minor
> Fix For: 2.1.0.GA
>
> Attachments: jboss-seam-2.0.1.GA-patches.zip
>
>
> Hi folks,
> I'm currently in working on the meanwhile old WebLogic
compatibility issue, which is a show stopper for products
which are forced to run in an BEA environment and rely on
EJB features.
> The current situation is that the EJB3 compiler of
WebLogic Server 10.x doesn't deploy JBoss Seam applications,
because it doesn't support EJB3 interfaces containing
methods with varars (Object...) definitions. This is
obviously a bug, but it's known by the vendor of WebLogic
for more than a year and meanwhile I don't believe anymore
that is going to be fixed in short. This situation is
critical for many projects, since this is a killer arguments
against JBoss Seam.
> Since it is more or less unknown what more supprises
this mix brings, I started an affort to patch the current
JBoss Seam version (2.0.1.GA) to work wis BEA WebLogic 10.0
MP1.
> First of all I've replaced the varargs in interfaces 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've 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
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the
administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atl
assian.com/software/jira
_______________________________________________
jbossseam-issues mailing list
jbossseam-issues lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jbossseam-issu
es
|
|
[1-8]
|
|