[
https://jira.jboss.org/jira/browse/JBSEAM-3939?page=com.atlassian.jira.pl...
]
Christian Bauer updated JBSEAM-3939:
------------------------------------
Summary: Static RestEasyProviderFactory prevents shared library deployment (was:
Seam's Resteasy implementation does not support multiple applications using resteasy
on same server)
Renaming this to the real issue. The static call
ResteasyProviderFactory.setInstance(providerFactory); is apparently necessary because of
some quirk they managed to put into the JAX RS specification. At least that was the
explanation by Bill half a year ago. We've got to leave it for now and ask the
RESTEasy guys if they have found a better way.
I also remember that this is 1:1 the setup procedure from RESTEasy so this issue does
affect all RE users, not just Seam applications.
Static RestEasyProviderFactory prevents shared library deployment
-----------------------------------------------------------------
Key: JBSEAM-3939
URL:
https://jira.jboss.org/jira/browse/JBSEAM-3939
Project: Seam
Issue Type: Bug
Components: WS
Affects Versions: 2.1.1.GA
Environment: SEAM 2.1.1.GA with seam-resteasy patch described in
https://jira.jboss.org/jira/browse/JBSEAM-3449, and RestEasy 1.0.1.GA. Running 2
Resteasy applications on Tomcat server.
Reporter: John Sublette
Assignee: Christian Bauer
Priority: Minor
Attachments: jboss-seam-resteasy-2.1.1.CR2.patched.jar,
jboss-seam-resteasy-2.1.1.CR2.patched.jar
Seam's Resteasy implementation does not support multiple applications using resteasy
on same server. Problem is with ResteasyDispatcher.onStartup() where there is a call to
ResteasyProviderFactory.setInstance() that register's the provider factory. When the
second application calls this, it sets the static variable - thus overwriting the first
application's.
I have patched it to set a custom ResteasyProviderFactory subclass based on
ThreadLocalResteasyProviderFactory instead. This subclass is a STATELESS Seam object that
grabs the web-app appropriate providerFactory through a Seam Component.getInstance() call
(injection may have worked too).
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira