You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openjpa.apache.org by "Mark Struberg (JIRA)" <ji...@apache.org> on 2010/01/06 12:28:54 UTC

[jira] Commented: (OPENJPA-1384) ClassNotFoundException for custom DBDictionary used by EJB

    [ https://issues.apache.org/jira/browse/OPENJPA-1384?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12797074#action_12797074 ] 

Mark Struberg commented on OPENJPA-1384:
----------------------------------------

it seems like this patch got applied (at least in 2.0.0 trunk)

> ClassNotFoundException for custom DBDictionary used by EJB
> ----------------------------------------------------------
>
>                 Key: OPENJPA-1384
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-1384
>             Project: OpenJPA
>          Issue Type: Bug
>          Components: jdbc
>    Affects Versions: 1.2.1
>         Environment: EJB3 Web environment
>            Reporter: B.J. Reed
>            Assignee: B.J. Reed
>             Fix For: 1.2.2, 1.3.0, 2.0.0
>
>         Attachments: OPENJPA-1384.patch
>
>
> Trying to use EJB3 and Servlets, I have a custom DBDictionary that I would like to use.  If I use the default DBDictionary, everything works fine.
> When OpenJPA tries to load the custom DBDictionary, I get a ClassNotFound Exception
> [11/2/09 14:04:54:077 EST] 00000030 BusinessExcep E   CNTR0020E: EJB    
> threw an unexpected (non-declared) exception during invocation of method "preLoadCache" on bean 
> "BeanId(STA_Test#STA_Service-EJB_Test.jar#AllowableValueEjb, null)".    Exception data:  com.siemens.soarian.se.soa.exception.SoarianUnknownException: Exception 
> ID: ErrorNamespace:se.sta.unknownRuntimeInRSF DisplayErrorCode:SRN00001 ErrorMessage:Exception caught at RSF in method:  
> ............        
> Caused by: <openjpa-1.2.1-SNAPSHOT+OPENJPA-679-Final-r422266:746282     
> fatal user error> org.apache.openjpa.persistence.ArgumentException:     
> com.siemens.soarian.se.persist.extensions.SoarianSQLServerJPADBDictionary                                                                       
>  at org.apache.openjpa.jdbc.sql.DBDictionaryFactory.newDBDictionary(DBDictionaryFactory.java:128)                                                   
>  at org.apache.openjpa.jdbc.sql.DBDictionaryFactory.newDBDictionary(DBDictionaryFactory.java:66)                                                    
>  at  org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.getDBDictionaryInstance(JDBCConfigurationImpl.java:538)                                      
> at   org.apache.openjpa.jdbc.meta.MappingRepository.endConfiguration(MappingRepository.java:1265)                                                    
>  at   org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:505)                                                           
>  at  org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:430)                                                           
>  at  org.apache.openjpa.lib.conf.PluginValue.instantiate(PluginValue.java:103
> at org.apache.openjpa.conf.MetaDataRepositoryValue.instantiate(MetaDataRepositoryValue.java:68)                                                    
>  at    org.apache.openjpa.lib.conf.ObjectValue.instantiate(ObjectValue.java:83)
>  at   org.apache.openjpa.conf.OpenJPAConfigurationImpl.newMetaDataRepositoryInstance(OpenJPAConfigurationImpl.java:863)                               
>  at  org.apache.openjpa.conf.OpenJPAConfigurationImpl.getMetaDataRepositoryInstance(OpenJPAConfigurationImpl.java:854)                               
>  at org.apache.openjpa.kernel.AbstractBrokerFactory.makeReadOnly(AbstractBrokerFactory.java:638)                                                    
>  at    org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:183)                                                       
>  at  org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:142)                                                   
>  at  org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityMana(EntityManagerFactoryImpl.java:192)                                     
>  at com.ibm.ws.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:63)                                           
>  at  com.ibm.ws.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:27)                                           
>  at    com.ibm.ws.jpa.management.JPAEMPool.getEntityManager(JPAEMPool.java:126)
> at com.ibm.ws.jpa.management.JPATxEntityManager.getEMInvocationInfo(JPATxEntityManager.java:226)                                                   
>  at  com.ibm.ws.jpa.management.JPAEntityManager.getDelegate(JPAEntityManager.java:367)                                                               
>  at   org.apache.openjpa.persistence.OpenJPAPersistence.cast(OpenJPAPersistence.java:63)                                                              
>  at  com.siemens.soarian.se.soa.server.EMFHelper.verifyConnectionMeetsStandards(EMFHelper.java:167)                                                  
>  at  com.siemens.soarian.se.soa.server.EMFHelper.getContainerEntityManager(EMFHelper.java:229)                                                       
>  at   com.siemens.soarian.se.soa.server.EMFHelper.getEntityManager(EMFHelper.java:109)                                                                
> at com.siemens.soarian.se.av.dao.AdaptabilityDAO.setupEM(AdaptabilityDAO.java:92)                                                                  
>  at com.siemens.soarian.se.av.dao.AdaptabilityDAO.<init>(AdaptabilityDAO.java:84)                                                                   
>  at com.siemens.soarian.se.av.applicationtask.AllowableValueCacheAT.<init>(AllowableValueCacheAT.java:37)                                           
> at  com.siemens.soarian.se.av.applicationservice.AllowableValueAS.clearCache(AllowableValueAS.java:84)                                              
>  at com.siemens.soarian.se.av.ejb.AllowableValueServiceBean$3.execute(AllowableValueServiceBean.java:277)                                           
>  at com.siemens.soarian.se.soa.server.RSFAction.go(RSFAction.java:92)   
>  ... 42 more                                                            
> Caused by: java.lang.ClassNotFoundException:                            
> com.siemens.soarian.se.persist.extensions.SoarianSQLServerJPADBDictionary                                                                       
>  at java.lang.Class.forNameImpl(Native Method)                          
>  at java.lang.Class.forName(Class.java:169)                             
>  at  org.apache.openjpa.jdbc.sql.DBDictionaryFactory.newDBDictionary(DBDictionaryFactory.java:119)                                                   
>  ... 71 more                                                            
> ...                                                                     
> ...                                                                     
> The root cause is what I am looking at here:                            
> .                                                                       
> .                                                                       
> Caused by: java.lang.ClassNotFoundException:                            
> com.siemens.soarian.se.persist.extensions.SoarianSQLServerJPADBDictionar
> y                                                                       
>  at java.lang.Class.forNameImpl(Native Method)                          
>  at java.lang.Class.forName(Class.java:169)                             
>  at                                                                     
> org.apache.openjpa.jdbc.sql.DBDictionaryFactory.newDBDictionary(DBDictio
> naryFactory.java:119)                                                   
>  ... 71 more                                                            

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.