Olivier Paquet created CXF-7586:
-----------------------------------

             Summary: cxf-rt-rs-security-oauth2 preventing application from 
starting if more than 1 PU defined
                 Key: CXF-7586
                 URL: https://issues.apache.org/jira/browse/CXF-7586
             Project: CXF
          Issue Type: Bug
          Components: JAX-RS Security
    Affects Versions: 3.2.1, 3.2.0
            Reporter: Olivier Paquet


Hi, 

We noticed after switchting from cxf 3.1.7 to 3.2.x that our application is not 
starting anymore.
After some analysis we found out that the cxf module cxf-rt-rs-security-oauth2 
contains a class 
org.apache.cxf.rs.security.oauth2.grants.code.JPACMTCodeDataProvider which 
injects an EntityManager using @PersistenceContext without defining a unitName. 
On our JBoss 6.4 EAP (JBoss 7.x) we get the following error message: 

{code}
java.lang.IllegalArgumentException: JBAS011470: Persistence unitName was not 
specified and there are x persistence unit definitions in application 
deployment deployment
{code}

With only one persistence unit definition it's working, but we need multiple 
PU's.

One solution I have in mind is to define a unitName for the PersistenceContext 
on the org.apache.cxf.rs.security.oauth2.grants.code.JPACMTCodeDataProvider 
("CXF_PU") , so that a PU has to be define explicitly in the persistence.xml, I 
mean it's not nice but for us it would be ok. 

Or perhaps there are other macanisms to avoid the persistence context injection 
if this class is not used? 

It currently prevents us from switchting to the newest cxf version.

I attached a sample maven project to reproduce this issue on a JBoss 7.x .

Greetings, Olivier



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to