Toplink Initialization

Hello,
Assuming I am using a Sessions.xml and a Project.xml am I right in saying that in my Weblogic startup class (that reads in the Sessions.xml file the usual way) reading in the Sessions.xml file also reads the Project.xml file as well as there is a reference to the Project.xml file in the Sessions.xml file ? Otherwise I would assume I do the following
1) Have a singleton class that reads in the Sessions.xml file and stores the session variable as a global variable accessible in my three tier application
2) Having proceeded to read and store the session I proceed to read in the project.xml file and then read in the mapping information
Using which do I do the login() - the session or the project ?
Thanks,
Aswin.

The most common approach is to access the session through the SessionManager. This will read the sessions.xml and instantiate and manage the singleton session.
Note: For multi-threaded applications this session should be a Server session.
Some Doc links:
http://www.oracle.com/technology/products/ias/toplink/doc/1013/main/_html/sesun002.htm#CACEHDID
http://www.oracle.com/technology/products/ias/toplink/doc/1013/main/_html/sesmgr003.htm#i1121932
Doug

Similar Messages

  • How do I use toplink with Spring 2.5 and oc4j 10.1.2?

    Our existing java server environment is limited to Oc4j 10.1.2 due to being tied to Oracle Forms.
    We've added a java 6 jdk to the machine and linked it to a specific container to examine some newer java features since this version of the application server only comes with java 1.4.2.
    Does anyone have some configuration steps for getting toplink essentials and spring to work with oc4j 10.1.2? Even with oc4j 10.1.3 in jdev 10.1.3.4 I'm having problems trying to figure out what needs placed in the persistence.xml file verses what needs placed in the spring-beans.xml file.
    I'm trying to either use the J2SE option of keeping the connection information in the persistence.xml file (which doesn't work) - it tries to connect to //localhost:1521/orcl. If I try to define a datasource within Spring's xml file, I'm not sure how to tie that into the persistence.xml file. Could I use the oc4j 10.1.2 container provided datasource?
    It seems like I'm at a loss as to how to get this working. If you'd like me to post some files, I can do that later on today when I get back to work.
    The configuration that I'm trying to do is based on a modified workspace from an ibm developerworks article with websphere, mixing in the ideas from a JPA with Spring 2.0 article from Mike Keith and Rod Johnson. (That article goes pretty far in the configuration information but never provided an example to download...)
    Any help appreciated.
    Eric (hbg, pa)

    I'm still at a loss with this. Rather than worry about the older version, for now, I just want to see JPA in action. So, I've decided on just running the Spring 2.5.6 petclinic example out of the samples folder. When I try to do this, after only tweaking the web.xml to use the applicationContext-jpa.xml file, the application does not initialize properly. Here's the stack trace I get:
    Target URL -- http://192.168.0.2:8988/petclinic/index.jsp
    09/05/11 23:26:05 Oracle Containers for J2EE 10g (10.1.3.4.0)  initialized
    WARNING: Code-source C:\javalib\spring-2.5.6\samples\petclinic\war\WEB-INF\lib\connector.jar (from WEB-INF/lib/ directory in C:\javalib\spring-2.5.6\samples\petclinic\war\WEB-INF\lib) has the same filename but is not identical to /C:/jdev10134/j2ee/home/lib/connector.jar (from <code-source> (ignore manifest Class-Path) in META-INF/boot.xml in C:\jdev10134\j2ee\home\oc4j.jar). If it contains different versions of the same classes, it will be masked as the latter is already visible in the search path of loader current-workspace-app.web.petclinic:0.0.0.
    WARNING: Code-source C:\javalib\spring-2.5.6\samples\petclinic\war\WEB-INF\lib\jta.jar (from WEB-INF/lib/ directory in C:\javalib\spring-2.5.6\samples\petclinic\war\WEB-INF\lib) has the same filename but is not identical to /C:/jdev10134/j2ee/home/lib/jta.jar (from <code-source> (ignore manifest Class-Path) in META-INF/boot.xml in C:\jdev10134\j2ee\home\oc4j.jar). If it contains different versions of the same classes, it will be masked as the latter is already visible in the search path of loader current-workspace-app.web.petclinic:0.0.0.
    WARNING: Code-source C:\javalib\spring-2.5.6\samples\petclinic\war\WEB-INF\lib\persistence.jar (from WEB-INF/lib/ directory in C:\javalib\spring-2.5.6\samples\petclinic\war\WEB-INF\lib) has the same filename but is not identical to /C:/jdev10134/j2ee/home/lib/persistence.jar (from <code-source> (ignore manifest Class-Path) in META-INF/boot.xml in C:\jdev10134\j2ee\home\oc4j.jar). If it contains different versions of the same classes, it will be masked as the latter is already visible in the search path of loader current-workspace-app.web.petclinic:0.0.0.
    WARNING: Code-source C:\javalib\spring-2.5.6\samples\petclinic\war\WEB-INF\lib\toplink-essentials.jar (from WEB-INF/lib/ directory in C:\javalib\spring-2.5.6\samples\petclinic\war\WEB-INF\lib) has the same filename but is not identical to /C:/jdev10134/toplink/jlib/toplink-essentials.jar (from <code-source> in /C:/jdev10134/jdev/system/oracle.j2ee.10.1.3.42.70/embedded-oc4j/config/server.xml). If it contains different versions of the same classes, it will be masked as the latter is already visible in the search path of loader current-workspace-app.web.petclinic:0.0.0.
    09/05/11 23:26:24 log4j: Parsing for [root] with value=[INFO, stdout].
    09/05/11 23:26:24 log4j: Level token is [INFO].
    09/05/11 23:26:24 log4j: Category root set to INFO
    09/05/11 23:26:24 log4j: Parsing appender named "stdout".
    09/05/11 23:26:24 log4j: Parsing layout options for "stdout".
    09/05/11 23:26:24 log4j: Setting property [conversionPattern] to [%d %p [%c] - <%m>%n].
    09/05/11 23:26:24 log4j: End of parsing for "stdout".
    09/05/11 23:26:24 log4j: Parsed "stdout" options.
    09/05/11 23:26:24 log4j: Parsing for [org.springframework.samples.petclinic.aspects] with value=[DEBUG].
    09/05/11 23:26:24 log4j: Level token is [DEBUG].
    09/05/11 23:26:24 log4j: Category org.springframework.samples.petclinic.aspects set to DEBUG
    09/05/11 23:26:24 log4j: Handling log4j.additivity.org.springframework.samples.petclinic.aspects=[null]
    09/05/11 23:26:24 log4j: Finished configuring.
    09/05/11 23:26:24 log4j: Reading configuration from URL file:/C:/javalib/spring-2.5.6/samples/petclinic/war/WEB-INF/classes/log4j.properties
    09/05/11 23:26:24 log4j: Parsing for [root] with value=[INFO, stdout].
    09/05/11 23:26:24 log4j: Level token is [INFO].
    09/05/11 23:26:24 log4j: Category root set to INFO
    09/05/11 23:26:24 log4j: Parsing appender named "stdout".
    09/05/11 23:26:24 log4j: Parsing layout options for "stdout".
    09/05/11 23:26:24 log4j: Setting property [conversionPattern] to [%d %p [%c] - <%m>%n].
    09/05/11 23:26:24 log4j: End of parsing for "stdout".
    09/05/11 23:26:24 log4j: Parsed "stdout" options.
    09/05/11 23:26:24 log4j: Parsing for [org.springframework.samples.petclinic.aspects] with value=[DEBUG].
    09/05/11 23:26:24 log4j: Level token is [DEBUG].
    09/05/11 23:26:24 log4j: Category org.springframework.samples.petclinic.aspects set to DEBUG
    09/05/11 23:26:24 log4j: Handling log4j.additivity.org.springframework.samples.petclinic.aspects=[null]
    09/05/11 23:26:24 log4j: Finished configuring.
    2009-05-11 23:26:24,593 INFO [org.springframework.web.context.ContextLoader] - <Root WebApplicationContext: initialization started>
    2009-05-11 23:26:24,687 INFO [org.springframework.web.context.support.XmlWebApplicationContext] - <Refreshing org.springframework.web.context.support.XmlWebApplicationContext@eeb406: display name [Root WebApplicationContext]; startup date [Mon May 11 23:26:24 EDT 2009]; root of context hierarchy>
    2009-05-11 23:26:24,828 INFO [org.springframework.beans.factory.xml.XmlBeanDefinitionReader] - <Loading XML bean definitions from ServletContext resource [WEB-INF/applicationContext-jpa.xml]>
    2009-05-11 23:26:25,281 INFO [org.springframework.web.context.support.XmlWebApplicationContext] - <Bean factory for application context [org.springframework.web.context.support.XmlWebApplicationContext@eeb406]: org.springframework.beans.factory.support.DefaultListableBeanFactory@1da817b>
    2009-05-11 23:26:25,734 INFO [org.springframework.beans.factory.config.PropertyPlaceholderConfigurer] - <Loading properties file from class path resource [jdbc.properties]>
    2009-05-11 23:26:25,796 INFO [org.springframework.context.weaving.DefaultContextLoadTimeWeaver] - <Determined server-specific load-time weaver: org.springframework.instrument.classloading.oc4j.OC4JLoadTimeWeaver>
    2009-05-11 23:26:28,296 INFO [org.springframework.web.context.support.XmlWebApplicationContext] - <Bean 'org.springframework.orm.jpa.vendor.TopLinkJpaVendorAdapter#c25ae3' is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)>
    2009-05-11 23:26:28,359 INFO [org.springframework.web.context.support.XmlWebApplicationContext] - <Bean 'dataSource' is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)>
    2009-05-11 23:26:28,437 INFO [org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean] - <Building JPA container EntityManagerFactory for persistence unit 'PetClinic'>
    2009-05-11 23:26:28,468 INFO [org.springframework.web.context.support.XmlWebApplicationContext] - <Bean 'entityManagerFactory' is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)>
    2009-05-11 23:26:28,562 INFO [org.springframework.beans.factory.support.DefaultListableBeanFactory] - <Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@1da817b: defining beans [org.springframework.context.weaving.AspectJWeavingEnabler#0,org.springframework.context.config.internalBeanConfigurerAspect,loadTimeWeaver,org.springframework.beans.factory.config.PropertyPlaceholderConfigurer#0,dataSource,entityManagerFactory,transactionManager,org.springframework.context.annotation.internalPersistenceAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.transaction.config.internalTransactionAspect,org.springframework.samples.petclinic.aspects.UsageLogAspect#0,org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor#0,clinic]; root of factory hierarchy>
    2009-05-11 23:26:29,671 INFO [org.springframework.web.context.ContextLoader] - <Root WebApplicationContext: initialization completed in 5078 ms>
    2009-05-11 23:26:29,734 INFO [org.springframework.web.servlet.DispatcherServlet] - <FrameworkServlet 'petclinic': initialization started>
    2009-05-11 23:26:29,734 INFO [org.springframework.web.context.support.XmlWebApplicationContext] - <Refreshing org.springframework.web.context.support.XmlWebApplicationContext@c00e55: display name [WebApplicationContext for namespace 'petclinic-servlet']; startup date [Mon May 11 23:26:29 EDT 2009]; parent: org.springframework.web.context.support.XmlWebApplicationContext@eeb406>
    2009-05-11 23:26:29,734 INFO [org.springframework.beans.factory.xml.XmlBeanDefinitionReader] - <Loading XML bean definitions from ServletContext resource [WEB-INF/petclinic-servlet.xml]>
    2009-05-11 23:26:30,171 INFO [org.springframework.web.context.support.XmlWebApplicationContext] - <Bean factory for application context [org.springframework.web.context.support.XmlWebApplicationContext@c00e55]: org.springframework.beans.factory.support.DefaultListableBeanFactory@1c5543b>
    2009-05-11 23:26:30,375 INFO [org.springframework.beans.factory.support.DefaultListableBeanFactory] - <Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@1c5543b: defining beans [addOwnerForm,addPetForm,addVisitForm,clinicController,editOwnerForm,editPetForm,findOwnersForm,org.springframework.context.annotation.internalPersistenceAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter#0,org.springframework.web.servlet.handler.SimpleMappingExceptionResolver#0,org.springframework.web.servlet.view.InternalResourceViewResolver#0,messageSource]; parent: org.springframework.beans.factory.support.DefaultListableBeanFactory@1da817b>
    2009-05-11 23:26:31,828 INFO [org.springframework.web.servlet.DispatcherServlet] - <FrameworkServlet 'petclinic': initialization completed in 2094 ms>
    May 11, 2009 11:26:58 PM oracle.toplink.essentials.session.file:/C:/javalib/spring-2.5.6/samples/petclinic/war/WEB-INF/classes/-PetClinic.transaction
    WARNING: PersistenceUnitInfo PetClinic has transactionType RESOURCE_LOCAL and therefore jtaDataSource will be ignored
    May 11, 2009 11:26:58 PM oracle.toplink.essentials.session.file:/C:/javalib/spring-2.5.6/samples/petclinic/war/WEB-INF/classes/-PetClinic
    INFO: TopLink, version: Oracle TopLink Essentials - 2.0.1 (Build b09d-fcs (12/06/2007))
    May 11, 2009 11:26:58 PM oracle.toplink.essentials.session.file:/C:/javalib/spring-2.5.6/samples/petclinic/war/WEB-INF/classes/-PetClinic
    INFO: Server: unknown
    May 11, 2009 11:26:58 PM oracle.toplink.essentials.session.file:/C:/javalib/spring-2.5.6/samples/petclinic/war/WEB-INF/classes/-PetClinic.connection
    CONFIG: connecting(DatabaseLogin(
            platform=>EssentialsHSQLPlatformWithNativeSequence
            user name=> ""
            connector=>JNDIConnector datasource name=>null
    May 11, 2009 11:27:03 PM oracle.toplink.essentials.session.file:/C:/javalib/spring-2.5.6/samples/petclinic/war/WEB-INF/classes/-PetClinic
    SEVERE:
    Local Exception Stack:
    Exception [TOPLINK-4002] (Oracle TopLink Essentials - 2.0.1 (Build b09d-fcs (12/06/2007))): oracle.toplink.essentials.exceptions.DatabaseException
    Internal Exception: java.sql.SQLException: Io exception: The Network Adapter could not establish the connection
    Error Code: 17002
            at oracle.toplink.essentials.exceptions.DatabaseException.sqlException(DatabaseException.java:305)
            at oracle.toplink.essentials.jndi.JNDIConnector.connect(JNDIConnector.java:150)
            at oracle.toplink.essentials.sessions.DatasourceLogin.connectToDatasource(DatasourceLogin.java:184)
            at oracle.toplink.essentials.internal.databaseaccess.DatasourceAccessor.connect(DatasourceAccessor.java:233)
            at oracle.toplink.essentials.internal.databaseaccess.DatabaseAccessor.connect(DatabaseAccessor.java:242)
            at oracle.toplink.essentials.internal.databaseaccess.DatasourceAccessor.connect(DatasourceAccessor.java:309)
            at oracle.toplink.essentials.threetier.ConnectionPool.buildConnection(ConnectionPool.java:117)
            at oracle.toplink.essentials.threetier.ExternalConnectionPool.startUp(ExternalConnectionPool.java:135)
            at oracle.toplink.essentials.threetier.ServerSession.connect(ServerSession.java:451)
            at oracle.toplink.essentials.internal.sessions.DatabaseSessionImpl.login(DatabaseSessionImpl.java:616)
            at oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider.login(EntityManagerFactoryProvider.java:282)
            at oracle.toplink.essentials.internal.ejb.cmp3.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:229)
            at oracle.toplink.essentials.internal.ejb.cmp3.base.EntityManagerFactoryImpl.getServerSession(EntityManagerFactoryImpl.java:93)
            at oracle.toplink.essentials.internal.ejb.cmp3.base.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:126)
            at oracle.toplink.essentials.internal.ejb.cmp3.base.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:120)
            at oracle.toplink.essentials.internal.ejb.cmp3.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:91)
            at org.springframework.orm.jpa.JpaTransactionManager.createEntityManagerForTransaction(JpaTransactionManager.java:392)
            at org.springframework.orm.jpa.JpaTransactionManager.doBegin(JpaTransactionManager.java:320)
            at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:374)
            at org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java:263)
            at org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java:220)
            at org.springframework.transaction.aspectj.AbstractTransactionAspect.ajc$before$org_springframework_transaction_aspectj_AbstractTransactionAspect$1$2a73e96c(AbstractTransactionAspect.aj:63)
            at org.springframework.samples.petclinic.jpa.EntityManagerClinic.getVets(EntityManagerClinic.java:39)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:585)
            at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
            at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
            at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
            at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:138)
            at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
            at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
            at $Proxy19.getVets(Unknown Source)
            at org.springframework.samples.petclinic.web.ClinicController.vetsHandler(ClinicController.java:53)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:585)
            at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.doInvokeMethod(HandlerMethodInvoker.java:421)
            at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:136)
            at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:326)
            at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:313)
            at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
            at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:807)
            at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
            at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
            at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:713)
            at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
            at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)
            at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
            at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:221)
            at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:122)
            at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:111)
            at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
            at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:234)
            at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:29)
            at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:879)
            at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
            at java.lang.Thread.run(Thread.java:595)
    Caused by: java.sql.SQLException: Io exception: The Network Adapter could not establish the connection
            at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:138)
            at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:175)
            at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:287)
            at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:328)
            at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:430)
            at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:151)
            at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
            at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:608)
            at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:218)
            at oracle.jdbc.pool.OracleConnectionPoolDataSource.getPhysicalConnection(OracleConnectionPoolDataSource.java:114)
            at oracle.jdbc.pool.OracleConnectionPoolDataSource.getPooledConnection(OracleConnectionPoolDataSource.java:77)
            at oracle.jdbc.pool.OracleImplicitConnectionCache.makeCacheConnection(OracleImplicitConnectionCache.java:1361)
            at oracle.jdbc.pool.OracleImplicitConnectionCache.getCacheConnection(OracleImplicitConnectionCache.java:441)
            at oracle.jdbc.pool.OracleImplicitConnectionCache.getConnection(OracleImplicitConnectionCache.java:336)
            at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:286)
            at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:179)
            at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:159)
            at oracle.oc4j.sql.DataSourceConnectionPoolDataSource.getPooledConnection(DataSourceConnectionPoolDataSource.java:57)
            at oracle.oc4j.sql.xa.EmulatedXADataSource.getXAConnection(EmulatedXADataSource.java:92)
            at oracle.oc4j.sql.spi.ManagedConnectionFactoryImpl.createXAConnection(ManagedConnectionFactoryImpl.java:211)
            at oracle.oc4j.sql.spi.ManagedConnectionFactoryImpl.createManagedConnection(ManagedConnectionFactoryImpl.java:170)
            at com.evermind.server.connector.ApplicationConnectionManager.createManagedConnection(ApplicationConnectionManager.java:1398)
            at oracle.j2ee.connector.ConnectionPoolImpl.createManagedConnectionFromFactory(ConnectionPoolImpl.java:327)
            at oracle.j2ee.connector.ConnectionPoolImpl.access$800(ConnectionPoolImpl.java:98)
            at oracle.j2ee.connector.ConnectionPoolImpl$NonePoolingScheme.getManagedConnection(ConnectionPoolImpl.java:1211)
            at oracle.j2ee.connector.ConnectionPoolImpl.getManagedConnection(ConnectionPoolImpl.java:785)
            at oracle.oc4j.sql.ConnectionPoolImpl.getManagedConnection(ConnectionPoolImpl.java:45)
            at com.evermind.server.connector.ApplicationConnectionManager.getConnectionFromPool(ApplicationConnectionManager.java:1596)
            at com.evermind.server.connector.ApplicationConnectionManager.acquireConnectionContext(ApplicationConnectionManager.java:1541)
            at com.evermind.server.connector.ApplicationConnectionManager.allocateConnection(ApplicationConnectionManager.java:1486)
            at oracle.j2ee.connector.OracleConnectionManager.unprivileged_allocateConnection(OracleConnectionManager.java:238)
            at oracle.j2ee.connector.OracleConnectionManager.allocateConnection(OracleConnectionManager.java:192)
            at oracle.oc4j.sql.ManagedDataSource.getConnection(ManagedDataSource.java:272)
            at oracle.oc4j.sql.ManagedDataSource.getConnection(ManagedDataSource.java:200)
            at oracle.oc4j.sql.ManagedDataSource.getConnection(ManagedDataSource.java:142)
            at oracle.oc4j.sql.ManagedDataSource.getConnection(ManagedDataSource.java:127)
            at oracle.toplink.essentials.jndi.JNDIConnector.connect(JNDIConnector.java:145)
            ... 60 moreAny ideas? I'd really like to see JPA, Spring and oc4j working together?
    Thanks,
    Eric

  • Error [TOPLINK-6007] while calling a web service deployed on external oc4j

    hello everybody,
    Actually, I'm working on a project using oracle soa suite.
    I developped a web service that works fine when I deploy it using the embeded oc4j but when I deploy it on an external oc4j, I get the followed error:
    Internal Server Error (Caught exception while handling request: Exception [TOPLINK-6007] (Oracle TopLink - 10g Release 3 (10.1.3.1.0) (Build 061004)): oracle.toplink.exceptions.QueryException Description de l'exception : Descripteur absent pour [class riad.commun.bean.rh.agents.Agents]. Interrogation : ReadObjectQuery(riad.commun.bean.rh.agents.Agents))
    Can anyone help me? please it's urgent.........

    Hello,
    The error is stating there isn't a descriptor for the Agent class the app is trying to execute a query on. This could be due to improper mappings, but assuming Agent is mapped, is more likely due to a classloader issue. TopLink uses the classloader at login to initialize the descriptors and hash them on the Class objects. If the application uses a different classloader, descriptors will not be found for classes loaded from the new classloader. How are you obtaining sessions, and where is the session being used?
    Best Regards,
    Chris

  • Toplink descriptor migration issues in JDeveloper 10.1.3.5 - 11

    I'm having several projects developed with TL as a PM in JDeveloper 10.1.3.5. Descriptors and toplink-ejb.jar file are parsed correctly, but when I migrate projects to 11G Toplink parsing breaks and it is not able to display EJBs with the following error:
    Local Exception Stack:
    Exception [TOPLINK-6044] (Oracle TopLink - 11g Release 1 (11.1.1.5.0) (Build 110305)): oracle.toplink.exceptions.QueryException
    Exception Description: The primary key read from the row [DatabaseRecord()] during the execution of the query was detected to be null. Primary keys must not contain null.
    Query: ReadAllQuery(oracle.toplink.workbench.mappingsmodel.database.MWLegacyTable)
         at oracle.toplink.exceptions.QueryException.nullPrimaryKeyInBuildingObject(QueryException.java:837)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:418)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildObjectsInto(ObjectBuilder.java:748)
         at oracle.toplink.internal.queryframework.DatabaseQueryMechanism.buildObjectsFromRows(DatabaseQueryMechanism.java:170)
         at oracle.toplink.queryframework.ReadAllQuery.executeObjectLevelReadQuery(ReadAllQuery.java:477)
         at oracle.toplink.queryframework.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:874)
         at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:679)
         at oracle.toplink.queryframework.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:835)
         at oracle.toplink.queryframework.ReadAllQuery.execute(ReadAllQuery.java:445)
         at oracle.toplink.internal.sessions.AbstractSession.internalExecuteQuery(AbstractSession.java:2265)
         at oracle.toplink.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1079)
         at oracle.toplink.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1063)
         at oracle.toplink.internal.indirection.NoIndirectionPolicy.valueFromQuery(NoIndirectionPolicy.java:264)
         at oracle.toplink.mappings.ForeignReferenceMapping.valueFromRowInternal(ForeignReferenceMapping.java:1377)
         at oracle.toplink.mappings.ForeignReferenceMapping.valueFromRow(ForeignReferenceMapping.java:1306)
         at oracle.toplink.mappings.DatabaseMapping.readFromRowIntoObject(DatabaseMapping.java:1117)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildAttributesIntoObject(ObjectBuilder.java:279)
         at oracle.toplink.sdk.SDKAggregateObjectMapping.buildCompositeObject(SDKAggregateObjectMapping.java:58)
         at oracle.toplink.mappings.foundation.AbstractCompositeObjectMapping.valueFromRow(AbstractCompositeObjectMapping.java:231)
         at oracle.toplink.mappings.DatabaseMapping.readFromRowIntoObject(DatabaseMapping.java:1117)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildAttributesIntoObject(ObjectBuilder.java:279)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:584)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:441)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:391)
         at oracle.toplink.queryframework.ObjectLevelReadQuery.buildObject(ObjectLevelReadQuery.java:511)
         at oracle.toplink.queryframework.ReadObjectQuery.executeObjectLevelReadQuery(ReadObjectQuery.java:433)
         at oracle.toplink.queryframework.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:874)
         at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:679)
         at oracle.toplink.queryframework.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:835)
         at oracle.toplink.queryframework.ReadObjectQuery.execute(ReadObjectQuery.java:397)
         at oracle.toplink.internal.sessions.AbstractSession.internalExecuteQuery(AbstractSession.java:2265)
         at oracle.toplink.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1079)
         at oracle.toplink.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1063)
         at oracle.toplink.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1022)
         at oracle.toplink.internal.sessions.AbstractSession.readObject(AbstractSession.java:2827)
         at oracle.toplink.workbench.mappingsio.legacy.PersistenceTools50.readMWProjectNamed(PersistenceTools50.java:331)
         at oracle.toplink.workbench.mappingsio.legacy.LegacyIOFacade.read50Project(LegacyIOFacade.java:29)
         at oracle.toplink.workbench.mappingsio.ProjectReader.readLegacyProject(ProjectReader.java:296)
         at oracle.toplink.workbench.mappingsio.ProjectReader.read(ProjectReader.java:110)
         at oracle.toplink.workbench.mappingsio.ProjectIOManager.read(ProjectIOManager.java:64)
         at oracle.toplink.workbench.mappingsio.ProjectIOManager.read(ProjectIOManager.java:60)
         at oracle.toplink.workbench.addin.application.ProjectContext.buildProject(ProjectContext.java:160)
         at oracle.toplink.workbench.addin.application.ProjectContext.initialize(ProjectContext.java:440)
         at oracle.toplink.workbench.addin.application.ProjectContext.<init>(ProjectContext.java:106)
         at oracle.toplink.workbench.addin.application.ContextManager.openProject(ContextManager.java:1169)
         at oracle.toplink.workbench.addin.application.ContextManager.openTopLinkMap(ContextManager.java:1218)
         at oracle.toplink.workbench.addin.application.ContextManager.loadProjectContext(ContextManager.java:1068)
         at oracle.toplink.workbench.addin.application.ContextManager.getContext(ContextManager.java:657)
         at oracle.toplink.workbench.addin.ui.view.TopLinkContextViewContextBuilder.topLinkContext(TopLinkContextViewContextBuilder.java:202)
         at oracle.toplink.workbench.addin.ui.view.TopLinkContextViewContextBuilder.openDocument(TopLinkContextViewContextBuilder.java:187)
         at oracle.toplink.workbench.addin.ui.view.ViewContextManager$OpenDocument.run(ViewContextManager.java:1081)
    There was a similar thread here :
    Re: Errors migrating from jDev 10.1.3.4 to jDev 11.2.1
    I did try to migrate to 11.1.1.4.0 and 11.1.1.5.0 - still no luck. All offline databases are present and correctly "connect" to corresponding EJBs in 10.1.3.5.
    Neither I cant find migration matrix/docs that were referred in similar threads. If this is not resolved, we can not chose Jdeveloper as a future IDE at the company...
    Thank you!
    V.

    Hi,
    the web appears to be full of such error messages and some point to the use of named native query vs. named query. So here are some options for you to try
    1. Create a test project in 11g using the same tables and compare the generated code with yours to see a difference
    2. Get a 10.1.3.5 project that you haven't migrated and pass it on to customer support for them to have a try on this.
    +"If this is not resolved, we can not chose Jdeveloper as a future IDE at the company..."+ Actually it doesn't appear to be a JDeveloper issue but a TopLink / EclipseLink issue. Abandoning JDeveloper is like shooting the messenger. Just so you know.
    Frank

  • Error in Toplink 10.1.3 cache coordination using Websphere JMS

    I' am trying to setup Cache Coordination for Toplink 10.1.3 in Websphere 7 using Websphere's implementation of JMS. However I' am getting a NamingException
    when I try to lookup the Topic and TopicFactory from the JNDI tree. Admin Security is enabled in the server but not application security. I' am able to lookup
    the queues using InitialContext. Upgrading to Toplink 11 is not an option right now for us. Please help in finding out if anything is missing in my Toplink configuration.
    <?xml version="1.0" encoding="UTF-8"?>
    <toplink-sessions
         version="10g Release 3 (10.1.3.0.0)"
         xmlns:xsd="http://www.w3.org/2001/XMLSchema"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
         <session xsi:type="server-session">
              <name>default</name>
              <remote-command>
                   <commands>
                        <cache-sync>true</cache-sync>
                   </commands>
                   <transport xsi:type="jms-topic-transport">
                        <topic-connection-factory-name>jms/jobtrax.TCF</topic-connection-factory-name>
                        <topic-name>jms/jobtrax.ToplinkTopic</topic-name>
                        <jndi-naming-service>
                             <url>corbaloc:rir:/NameServiceServerRoot</url>
                             <initial-context-factory-name>com.ibm.websphere.naming.WsnInitialContextFactory</initial-context-factory-name>
                        </jndi-naming-service>
                   </transport>
              </remote-command>
    <!--<event-listener-classes>
    <event-listener-class>com.pstechnology.eaf.persistence.toplink.PostBeginTransactionListener</event-listener-class>
    </event-listener-classes>
              -->
              <logging xsi:type="toplink-log">
                   <log-level>fine</log-level>
                   <logging-options>
                        <log-exception-stacktrace>true</log-exception-stacktrace>
                        <print-thread>true</print-thread>
                        <print-session>false</print-session>
                        <print-connection>false</print-connection>
                        <print-date>true</print-date>
                   </logging-options>
              </logging>
              <primary-project xsi:type="class">com.pstechnology.toplink.ToplinkProject</primary-project>
              <login xsi:type="database-login">
                   <platform-class>com.pstechnology.eaf.persistence.toplink.Oracle10Platform</platform-class>
                   <external-connection-pooling>true</external-connection-pooling>
                   <external-transaction-controller>false</external-transaction-controller>
                   <sequencing>
                        <default-sequence xsi:type="native-sequence">
                             <name>Default</name>
                        </default-sequence>
                   </sequencing>
                   <datasource>jdbc/jobtrax_job_datasource</datasource>
                   <bind-all-parameters>true</bind-all-parameters>
              </login>
         </session>
    </toplink-sessions>
    [2/17/11 16:22:10:696 EST] 00000018 SystemOut O [TopLink Warning]:
    2011.02.17 04:22:10.690--Thread(Thread[server.startup : 0,5,main])--Local
    Exception Stack:
    Exception [TOPLINK-22103] (Oracle TopLink - 10g Release 3 (10.1.3.0.0)
    (Build 060118)): oracle.toplink.exceptions.RemoteCommandManagerException
    Exception Description: Could not look up remote connection under name
    jms/jobtrax.TCF with URL corbaloc:rir:/NameServiceServerRoot
    Internal Exception: javax.naming.NamingException: Error during resolve
    [Root exception is javax.naming.AuthenticationException: Login failed:
    com.ibm.websphere.security.auth.WSLoginFailedException [Root exception is
    com.ibm.websphere.security.auth.WSLoginFailedException]]
    at
    oracle.toplink.exceptions.RemoteCommandManagerException.errorLookingUpRemoteConnection
    (RemoteCommandManagerException.java:75)
    at
    oracle.toplink.remotecommand.jms.JMSTopicTransportManager.getTopicConnectionFactory
    (JMSTopicTransportManager.java:206)
    at
    oracle.toplink.remotecommand.jms.PstJMSTopicTransportManager.createJMSTopicRemoteConnection
    (PstJMSTopicTransportManager.java:67)
    at
    oracle.toplink.remotecommand.jms.JMSTopicTransportManager.createLocalConnection
    (JMSTopicTransportManager.java:106)
    at
    oracle.toplink.remotecommand.jms.JMSTopicDiscoveryManager.startDiscovery
    (JMSTopicDiscoveryManager.java:44)
    at oracle.toplink.remotecommand.RemoteCommandManager.initialize
    (RemoteCommandManager.java:132)
    at oracle.toplink.publicinterface.DatabaseSession.login
    (DatabaseSession.java:517)
    at oracle.toplink.tools.sessionmanagement.SessionManager.getSession
    (SessionManager.java:379)
    at
    com.pstechnology.eaf.persistence.toplink.TopLinkRepository.getServerSession
    (TopLinkRepository.java:163)
    at
    com.pstechnology.eaf.persistence.toplink.TopLinkRepository.getClientSession
    (TopLinkRepository.java:198)
    at
    com.pstechnology.eaf.persistence.toplink.TopLinkRepository.getReadSession
    (TopLinkRepository.java:216)
    at com.pstechnology.eaf.persistence.toplink.TopLinkRepository.read
    (TopLinkRepository.java:318)
    at
    com.pstechnology.repository.admin.ApplicationPropertyRepository.findApplicationPropertyByEnumId
    (ApplicationPropertyRepository.java:70)
    at
    com.pstechnology.service.admin.AdministrationService.findApplicationPropertyValue
    (AdministrationService.java:179)
    at
    com.pstechnology.scheduling.trigger.AbolishedTaskSimpleTrigger.getTimerRepeatIntervalValue
    (AbolishedTaskSimpleTrigger.java:45)
    at
    com.pstechnology.scheduling.trigger.AbolishedTaskSimpleTrigger.afterPropertiesSet
    (AbolishedTaskSimpleTrigger.java:30)
    at
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods
    (AbstractAutowireCapableBeanFactory.java:1198)
    at
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean
    (AbstractAutowireCapableBeanFactory.java:1167)
    at
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean
    (AbstractAutowireCapableBeanFactory.java:427)
    at org.springframework.beans.factory.support.AbstractBeanFactory
    $1.getObject(AbstractBeanFactory.java:249)
    at
    org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton
    (DefaultSingletonBeanRegistry.java:155)
    at
    org.springframework.beans.factory.support.AbstractBeanFactory.getBean
    (AbstractBeanFactory.java:246)
    at
    org.springframework.beans.factory.support.AbstractBeanFactory.getBean
    (AbstractBeanFactory.java:160)
    at
    org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons
    (DefaultListableBeanFactory.java:291)
    at
    org.springframework.context.support.AbstractApplicationContext.refresh
    (AbstractApplicationContext.java:352)
    at
    org.springframework.context.support.ClassPathXmlApplicationContext.<init>
    (ClassPathXmlApplicationContext.java:122)
    at
    org.springframework.context.support.ClassPathXmlApplicationContext.<init>
    (ClassPathXmlApplicationContext.java:66)
    at com.pstechnology.service.SchedulingContext.initialize
    (SchedulingContext.java:56)
    at com.pstechnology.servlet.InitializationServlet.init
    (InitializationServlet.java:52)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.init
    (ServletWrapper.java:358)
    at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.init
    (ServletWrapperImpl.java:169)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.initialize
    (ServletWrapper.java:1809)
    at
    com.ibm.wsspi.webcontainer.extension.WebExtensionProcessor.createServletWrapper
    (WebExtensionProcessor.java:98)
    at com.ibm.ws.webcontainer.webapp.WebApp.initializeTargetMappings
    (WebApp.java:678)
    at com.ibm.ws.webcontainer.webapp.WebApp.commonInitializationFinally
    (WebApp.java:429)
    at com.ibm.ws.webcontainer.webapp.WebAppImpl.initialize
    (WebAppImpl.java:304)
    at com.ibm.ws.webcontainer.webapp.WebGroupImpl.addWebApplication
    (WebGroupImpl.java:100)
    at com.ibm.ws.webcontainer.VirtualHostImpl.addWebApplication
    (VirtualHostImpl.java:166)
    at com.ibm.ws.webcontainer.WSWebContainer.addWebApp
    (WSWebContainer.java:731)
    at com.ibm.ws.webcontainer.WSWebContainer.addWebApplication
    (WSWebContainer.java:616)
    at com.ibm.ws.webcontainer.component.WebContainerImpl.install
    (WebContainerImpl.java:376)
    at com.ibm.ws.webcontainer.component.WebContainerImpl.start
    (WebContainerImpl.java:668)
    at com.ibm.ws.runtime.component.ApplicationMgrImpl.start
    (ApplicationMgrImpl.java:1122)
    at
    com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart
    (DeployedApplicationImpl.java:1319)
    at com.ibm.ws.runtime.component.DeployedModuleImpl.start
    (DeployedModuleImpl.java:609)
    at com.ibm.ws.runtime.component.DeployedApplicationImpl.start
    (DeployedApplicationImpl.java:944)
    at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication
    (ApplicationMgrImpl.java:725)
    at com.ibm.ws.runtime.component.ApplicationMgrImpl.start
    (ApplicationMgrImpl.java:2046)
    at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start
    (CompositionUnitMgrImpl.java:439)
    at com.ibm.ws.runtime.component.CompositionUnitImpl.start
    (CompositionUnitImpl.java:123)
    at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start
    (CompositionUnitMgrImpl.java:382)
    at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.access$300
    (CompositionUnitMgrImpl.java:110)
    at com.ibm.ws.runtime.component.CompositionUnitMgrImpl
    $CUInitializer.run(CompositionUnitMgrImpl.java:949)
    at com.ibm.wsspi.runtime.component.WsComponentImpl
    $_AsynchInitializer.run(WsComponentImpl.java:349)
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1563)
    Internal Exception Stack:
    javax.naming.NamingException: Error during resolve [Root exception is
    javax.naming.AuthenticationException: Login failed:
    com.ibm.websphere.security.auth.WSLoginFailedException [Root exception is
    com.ibm.websphere.security.auth.WSLoginFailedException]]
    at com.ibm.ws.naming.jndicos.CNContextImpl.doLookup
    (CNContextImpl.java:1840)
    at com.ibm.ws.naming.jndicos.CNContextImpl.doLookup
    (CNContextImpl.java:1749)
    at com.ibm.ws.naming.jndicos.CNContextImpl.lookupExt
    (CNContextImpl.java:1500)
    at com.ibm.ws.naming.jndicos.CNContextImpl.lookup
    (CNContextImpl.java:637)
    at com.ibm.ws.naming.util.WsnInitCtx.lookup(WsnInitCtx.java:165)
    at com.ibm.ws.naming.util.WsnInitCtx.lookup(WsnInitCtx.java:179)
    at javax.naming.InitialContext.lookup(InitialContext.java:455)
    at
    oracle.toplink.remotecommand.jms.JMSTopicTransportManager.getTopicConnectionFactory
    (JMSTopicTransportManager.java:204)
    at
    oracle.toplink.remotecommand.jms.PstJMSTopicTransportManager.createJMSTopicRemoteConnection
    (PstJMSTopicTransportManager.java:67)
    at
    oracle.toplink.remotecommand.jms.JMSTopicTransportManager.createLocalConnection
    (JMSTopicTransportManager.java:106)
    at
    oracle.toplink.remotecommand.jms.JMSTopicDiscoveryManager.startDiscovery
    (JMSTopicDiscoveryManager.java:44)
    at oracle.toplink.remotecommand.RemoteCommandManager.initialize
    (RemoteCommandManager.java:132)
    at oracle.toplink.publicinterface.DatabaseSession.login
    (DatabaseSession.java:517)
    at oracle.toplink.tools.sessionmanagement.SessionManager.getSession
    (SessionManager.java:379)
    at
    com.pstechnology.eaf.persistence.toplink.TopLinkRepository.getServerSession
    (TopLinkRepository.java:163)
    at
    com.pstechnology.eaf.persistence.toplink.TopLinkRepository.getClientSession
    (TopLinkRepository.java:198)
    at
    com.pstechnology.eaf.persistence.toplink.TopLinkRepository.getReadSession
    (TopLinkRepository.java:216)
    at com.pstechnology.eaf.persistence.toplink.TopLinkRepository.read
    (TopLinkRepository.java:318)
    at
    com.pstechnology.repository.admin.ApplicationPropertyRepository.findApplicationPropertyByEnumId
    (ApplicationPropertyRepository.java:70)
    at
    com.pstechnology.service.admin.AdministrationService.findApplicationPropertyValue
    (AdministrationService.java:179)
    at
    com.pstechnology.scheduling.trigger.AbolishedTaskSimpleTrigger.getTimerRepeatIntervalValue
    (AbolishedTaskSimpleTrigger.java:45)
    at
    com.pstechnology.scheduling.trigger.AbolishedTaskSimpleTrigger.afterPropertiesSet
    (AbolishedTaskSimpleTrigger.java:30)
    at
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods
    (AbstractAutowireCapableBeanFactory.java:1198)
    at
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean
    (AbstractAutowireCapableBeanFactory.java:1167)
    at
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean
    (AbstractAutowireCapableBeanFactory.java:427)
    at org.springframework.beans.factory.support.AbstractBeanFactory
    $1.getObject(AbstractBeanFactory.java:249)
    at
    org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton
    (DefaultSingletonBeanRegistry.java:155)
    at
    org.springframework.beans.factory.support.AbstractBeanFactory.getBean
    (AbstractBeanFactory.java:246)
    at
    org.springframework.beans.factory.support.AbstractBeanFactory.getBean
    (AbstractBeanFactory.java:160)
    at
    org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons
    (DefaultListableBeanFactory.java:291)
    at
    org.springframework.context.support.AbstractApplicationContext.refresh
    (AbstractApplicationContext.java:352)
    at
    org.springframework.context.support.ClassPathXmlApplicationContext.<init>
    (ClassPathXmlApplicationContext.java:122)
    at
    org.springframework.context.support.ClassPathXmlApplicationContext.<init>
    (ClassPathXmlApplicationContext.java:66)
    at com.pstechnology.service.SchedulingContext.initialize
    (SchedulingContext.java:56)
    at com.pstechnology.servlet.InitializationServlet.init
    (InitializationServlet.java:52)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.init
    (ServletWrapper.java:358)
    at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.init
    (ServletWrapperImpl.java:169)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.initialize
    (ServletWrapper.java:1809)
    at
    com.ibm.wsspi.webcontainer.extension.WebExtensionProcessor.createServletWrapper
    (WebExtensionProcessor.java:98)
    at com.ibm.ws.webcontainer.webapp.WebApp.initializeTargetMappings
    (WebApp.java:678)
    at com.ibm.ws.webcontainer.webapp.WebApp.commonInitializationFinally
    (WebApp.java:429)
    at com.ibm.ws.webcontainer.webapp.WebAppImpl.initialize
    (WebAppImpl.java:304)
    at com.ibm.ws.webcontainer.webapp.WebGroupImpl.addWebApplication
    (WebGroupImpl.java:100)
    at com.ibm.ws.webcontainer.VirtualHostImpl.addWebApplication
    (VirtualHostImpl.java:166)
    at com.ibm.ws.webcontainer.WSWebContainer.addWebApp
    (WSWebContainer.java:731)
    at com.ibm.ws.webcontainer.WSWebContainer.addWebApplication
    (WSWebContainer.java:616)
    at com.ibm.ws.webcontainer.component.WebContainerImpl.install
    (WebContainerImpl.java:376)
    at com.ibm.ws.webcontainer.component.WebContainerImpl.start
    (WebContainerImpl.java:668)
    at com.ibm.ws.runtime.component.ApplicationMgrImpl.start
    (ApplicationMgrImpl.java:1122)
    at
    com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart
    (DeployedApplicationImpl.java:1319)
    at com.ibm.ws.runtime.component.DeployedModuleImpl.start
    (DeployedModuleImpl.java:609)
    at com.ibm.ws.runtime.component.DeployedApplicationImpl.start
    (DeployedApplicationImpl.java:944)
    at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication
    (ApplicationMgrImpl.java:725)
    at com.ibm.ws.runtime.component.ApplicationMgrImpl.start
    (ApplicationMgrImpl.java:2046)
    at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start
    (CompositionUnitMgrImpl.java:439)
    at com.ibm.ws.runtime.component.CompositionUnitImpl.start
    (CompositionUnitImpl.java:123)
    at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start
    (CompositionUnitMgrImpl.java:382)
    at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.access$300
    (CompositionUnitMgrImpl.java:110)
    at com.ibm.ws.runtime.component.CompositionUnitMgrImpl
    $CUInitializer.run(CompositionUnitMgrImpl.java:949)
    at com.ibm.wsspi.runtime.component.WsComponentImpl
    $_AsynchInitializer.run(WsComponentImpl.java:349)
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1563)
    Caused by: javax.naming.AuthenticationException: Login failed:
    com.ibm.websphere.security.auth.WSLoginFailedException [Root exception is
    com.ibm.websphere.security.auth.WSLoginFailedException]
    at com.ibm.ws.naming.util.SecurityUtil.login(SecurityUtil.java:121)
    at com.ibm.ws.naming.jndicos.CNContextImpl.login
    (CNContextImpl.java:4516)
    at com.ibm.ws.naming.jndicos.CNContextImpl.cosResolve
    (CNContextImpl.java:2781)
    at com.ibm.ws.naming.jndicos.CNContextImpl.doLookup
    (CNContextImpl.java:1790)
    ... 60 more
    Caused by: com.ibm.websphere.security.auth.WSLoginFailedException
    at com.ibm.ws.security.ltpa.LTPAServerObject.authenticate
    (LTPAServerObject.java:998)
    at com.ibm.ws.security.server.lm.ltpaLoginModule.login
    (ltpaLoginModule.java:643)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke
    (NativeMethodAccessorImpl.java:48)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke
    (DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:600)
    at javax.security.auth.login.LoginContext.invoke
    (LoginContext.java:795)
    at javax.security.auth.login.LoginContext.access$000
    (LoginContext.java:209)
    at javax.security.auth.login.LoginContext$4.run
    (LoginContext.java:709)
    at java.security.AccessController.doPrivileged
    (AccessController.java:251)
    at javax.security.auth.login.LoginContext.invokePriv
    (LoginContext.java:706)
    at javax.security.auth.login.LoginContext.login
    (LoginContext.java:603)
    at com.ibm.ws.security.auth.JaasLoginHelper.jaas_login
    (JaasLoginHelper.java:354)
    at com.ibm.ws.security.auth.ContextManagerImpl.login
    (ContextManagerImpl.java:4024)
    at com.ibm.ws.security.auth.ContextManagerImpl.login
    (ContextManagerImpl.java:3728)
    at com.ibm.ws.security.auth.ContextManagerImpl.login
    (ContextManagerImpl.java:3724)
    at com.ibm.ws.security.auth.ContextManagerImpl.login
    (ContextManagerImpl.java:3475)
    at com.ibm.ws.naming.util.SecurityUtil$1.run(SecurityUtil.java:115)
    at com.ibm.ws.naming.util.SecurityUtil$1.run(SecurityUtil.java:111)
    at com.ibm.ws.security.util.AccessController.doPrivileged
    (AccessController.java:118)
    at com.ibm.ws.naming.util.SecurityUtil.login(SecurityUtil.java:109)
    ... 63 more
    Caused by: com.ibm.websphere.security.PasswordCheckFailedException
    at com.ibm.ws.wim.registry.util.LoginBridge.checkPassword
    (LoginBridge.java:204)
    at com.ibm.ws.wim.registry.WIMUserRegistry$1.run
    (WIMUserRegistry.java:181)
    at com.ibm.ws.security.auth.ContextManagerImpl.runAs
    (ContextManagerImpl.java:4610)
    at com.ibm.ws.security.auth.ContextManagerImpl.runAsSystem
    (ContextManagerImpl.java:4698)
    at
    com.ibm.ws.wim.security.authz.jacc.JACCSecurityManager.runAsSuperUser
    (JACCSecurityManager.java:432)
    at
    com.ibm.ws.wim.security.authz.ProfileSecurityManager.runAsSuperUser
    (ProfileSecurityManager.java:964)
    at com.ibm.ws.wim.registry.WIMUserRegistry.checkPassword
    (WIMUserRegistry.java:170)
    at com.ibm.ws.security.registry.UserRegistryImpl.checkPassword
    (UserRegistryImpl.java:338)
    at com.ibm.ws.security.ltpa.LTPAServerObject.authenticate
    (LTPAServerObject.java:973)
    ... 83 more
    Caused by: com.ibm.websphere.wim.exception.PasswordCheckFailedException:
    CWWIM4537E No principal is found from the 'admin' principal name.
    at com.ibm.ws.wim.ProfileManager.loginImpl(ProfileManager.java:3607)
    at com.ibm.ws.wim.ProfileManager.genericProfileManagerMethod
    (ProfileManager.java:292)
    at com.ibm.ws.wim.ProfileManager.login(ProfileManager.java:400)
    at com.ibm.websphere.wim.ServiceProvider.login
    (ServiceProvider.java:485)
    at com.ibm.ws.wim.registry.util.LoginBridge.checkPassword
    (LoginBridge.java:169)

    We are taking another run at TopLink 10.1.3 and have run into this problem again.
    It turns out that this is fairly reproducable. It occurs when we remove the last item (or all of the items) from the parent collection.
    It occurs with transparent indirection on or off.
    I've added several tests to our Junit suite to detect this behavior with various objects. Sometimes they fail, sometimes they pass. Going back to TopLink 9, a couple of the tests that fail in 10 fail, but most of them pass.
    Given the number of folks who shared our probem in TopLink9, I wonder how many have a similar problem in 10. I also wonder why the behavior differs somewhat between 9 and 10. Though our expanded test suite is now detecting the behavior in 9, it is less frequent.

  • Toplink comes to a halt in the merge

    Using Toplink JPA. The relevant BM: Stand [1:N] Standversion [1:N] Standassign
    A new Standversion is created by copying another Standversion (usually the previous one) and making changes. This is testcode doing exactly this:
    // find the original
    Standversion lImportFromStandversion = Standversion.findByStandidVersion("A1", 56);
    // determine the highest sequence number
    int lHighestVersion = lImportFromStandversion.getStand().getHighestVersionOfAllMyStandversions();
    if (lHighestVersion == 0) lHighestVersion = 1;
    // create new standversion
    Standversion lNewStandversion = lImportFromStandversion.cloneShallow();
    // initialize the new standversion
    GregorianCalendar lNow = new GregorianCalendar();
    lNewStandversion.setReplaceDate( new GregorianCalendar( lNow.get(GregorianCalendar.YEAR) + 1, lNow.get(GregorianCalendar.MONTH), lNow.get(GregorianCalendar.DATE) ) );
    lNewStandversion.setVersion( lHighestVersion + 1);
    lNewStandversion.setPricePerUnit( lImportFromStandversion.getPricePerUnit());
    lNewStandversion.setDerrivedfromstandversion(lImportFromStandversion);
    // copy the assigns from the original to the new
    int lCnt = 0;
    for (Standassign lImportFromStandassign : new ArrayList<Standassign>( lImportFromStandversion.getStandassignsWhereIAmStandversion() ) ) // The "new ArrayList" forces the whole collection to be read, not lazy loaded. Otherwise this will result in a concurrent modification exception.
    // progress
    lCnt++;
    System.out.println( lCnt + "/" + lImportFromStandversion.getStandassignsWhereIAmStandversion().size());
    // clone
    Standassign lNewStandassign = lImportFromStandassign.cloneShallow();
    // initialize
    lNewStandassign.setChangeIndicator(false);
    lNewStandassign.setStandversion(lNewStandversion);
    // save
    lEntityManager.clear();
    lEntityManager.getTransaction().begin();
    lEntityManager.merge(lNewStandversion);
    lEntityManager.getTransaction().commit();
    There are 60 assigns.
    Stuff is reloaded in the assign and then Toplink is very very in the merge, as in: doesn't return from the call for 5 minutes and then:
    Exception in thread "main" java.util.MissingResourceException: Can't find bundle for base name oracle.toplink.essentials.exceptions.i18n.DescriptorExceptionResource, locale en_US
    at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1508)
    at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1262)
    at java.util.ResourceBundle.getBundle(ResourceBundle.java:789)
    at oracle.toplink.essentials.exceptions.i18n.ExceptionMessageGenerator.buildMessage(ExceptionMessageGenerator.java:56)
    at oracle.toplink.essentials.exceptions.DescriptorException.targetInvocationWhileConstructorInstantiation(DescriptorException.java:1559)
    at oracle.toplink.essentials.internal.descriptors.InstantiationPolicy.buildNewInstanceUsingDefaultConstructor(InstantiationPolicy.java:139)
    at oracle.toplink.essentials.internal.descriptors.InstantiationPolicy.buildNewInstance(InstantiationPolicy.java:111)
    at oracle.toplink.essentials.internal.descriptors.ObjectBuilder.buildNewInstance(ObjectBuilder.java:324)
    at oracle.toplink.essentials.descriptors.copying.InstantiationCopyPolicy.buildClone(InstantiationCopyPolicy.java:37)
    at oracle.toplink.essentials.descriptors.copying.AbstractCopyPolicy.buildWorkingCopyClone(AbstractCopyPolicy.java:49)
    at oracle.toplink.essentials.internal.descriptors.ObjectBuilder.instantiateWorkingCopyClone(ObjectBuilder.java:2029)
    at oracle.toplink.essentials.internal.sessions.UnitOfWorkImpl.cloneAndRegisterObject(UnitOfWorkImpl.java:641)
    at oracle.toplink.essentials.internal.sessions.UnitOfWorkImpl.registerExistingObject(UnitOfWorkImpl.java:3080)
    at oracle.toplink.essentials.internal.sessions.UnitOfWorkImpl.registerExistingObject(UnitOfWorkImpl.java:3024)
    at oracle.toplink.essentials.internal.sessions.UnitOfWorkImpl.registerExistingObject(UnitOfWorkImpl.java:3044)
    at oracle.toplink.essentials.mappings.CollectionMapping.buildElementClone(CollectionMapping.java:201)
    at oracle.toplink.essentials.mappings.CollectionMapping.buildCloneForPartObject(CollectionMapping.java:162)
    at oracle.toplink.essentials.internal.indirection.UnitOfWorkQueryValueHolder.buildCloneFor(UnitOfWorkQueryValueHolder.java:60)
    at oracle.toplink.essentials.internal.indirection.UnitOfWorkValueHolder.instantiateImpl(UnitOfWorkValueHolder.java:161)
    at oracle.toplink.essentials.internal.indirection.UnitOfWorkValueHolder.instantiate(UnitOfWorkValueHolder.java:232)
    at oracle.toplink.essentials.internal.indirection.DatabaseValueHolder.getValue(DatabaseValueHolder.java:90)
    at oracle.toplink.essentials.indirection.IndirectList.buildDelegate(IndirectList.java:193)
    at oracle.toplink.essentials.indirection.IndirectList.getDelegate(IndirectList.java:315)
    at oracle.toplink.essentials.indirection.IndirectList.size(IndirectList.java:640)
    at oracle.toplink.essentials.internal.queryframework.CollectionContainerPolicy.sizeFor(CollectionContainerPolicy.java:184)
    at oracle.toplink.essentials.internal.indirection.TransparentIndirectionPolicy.getRealAttributeValueFromObject(TransparentIndirectionPolicy.java:252)
    at oracle.toplink.essentials.mappings.ForeignReferenceMapping.getRealAttributeValueFromObject(ForeignReferenceMapping.java:370)
    at oracle.toplink.essentials.mappings.CollectionMapping.getRealAttributeValueFromObject(CollectionMapping.java:559)
    at oracle.toplink.essentials.mappings.CollectionMapping.getRealCollectionAttributeValueFromObject(CollectionMapping.java:574)
    at oracle.toplink.essentials.mappings.CollectionMapping.mergeIntoObject(CollectionMapping.java:740)
    at oracle.toplink.essentials.internal.descriptors.ObjectBuilder.mergeIntoObject(ObjectBuilder.java:2114)
    at oracle.toplink.essentials.internal.sessions.MergeManager.mergeChangesOfCloneIntoWorkingCopy(MergeManager.java:427)
    at oracle.toplink.essentials.internal.sessions.MergeManager.mergeChanges(MergeManager.java:249)
    at oracle.toplink.essentials.mappings.ObjectReferenceMapping.mergeIntoObject(ObjectReferenceMapping.java:360)
    at oracle.toplink.essentials.internal.descriptors.ObjectBuilder.mergeIntoObject(ObjectBuilder.java:2114)
    at oracle.toplink.essentials.internal.sessions.MergeManager.mergeChangesOfCloneIntoWorkingCopy(MergeManager.java:427)
    at oracle.toplink.essentials.internal.sessions.MergeManager.mergeChanges(MergeManager.java:249)
    at oracle.toplink.essentials.mappings.CollectionMapping.mergeIntoObject(CollectionMapping.java:768)
    at oracle.toplink.essentials.internal.descriptors.ObjectBuilder.mergeIntoObject(ObjectBuilder.java:2114)
    at oracle.toplink.essentials.internal.sessions.MergeManager.mergeChangesOfCloneIntoWorkingCopy(MergeManager.java:427)
    at oracle.toplink.essentials.internal.sessions.MergeManager.mergeChanges(MergeManager.java:249)
    at oracle.toplink.essentials.mappings.CollectionMapping.mergeIntoObject(CollectionMapping.java:768)
    at oracle.toplink.essentials.internal.descriptors.ObjectBuilder.mergeIntoObject(ObjectBuilder.java:2114)
    at oracle.toplink.essentials.internal.sessions.MergeManager.mergeChangesOfCloneIntoWorkingCopy(MergeManager.java:427)
    at oracle.toplink.essentials.internal.sessions.MergeManager.mergeChanges(MergeManager.java:249)
    at oracle.toplink.essentials.mappings.ObjectReferenceMapping.mergeIntoObject(ObjectReferenceMapping.java:360)
    at oracle.toplink.essentials.internal.descriptors.ObjectBuilder.mergeIntoObject(ObjectBuilder.java:2114)
    at oracle.toplink.essentials.internal.sessions.MergeManager.mergeChangesOfCloneIntoWorkingCopy(MergeManager.java:427)
    at oracle.toplink.essentials.internal.sessions.MergeManager.mergeChanges(MergeManager.java:249)
    at oracle.toplink.essentials.internal.sessions.UnitOfWorkImpl.mergeCloneWithReferences(UnitOfWorkImpl.java:2709)
    at oracle.toplink.essentials.internal.ejb.cmp3.base.RepeatableWriteUnitOfWork.mergeCloneWithReferences(RepeatableWriteUnitOfWork.java:203)
    at oracle.toplink.essentials.internal.ejb.cmp3.base.EntityManagerImpl.mergeInternal(EntityManagerImpl.java:220)
    at oracle.toplink.essentials.internal.ejb.cmp3.EntityManagerImpl.merge(EntityManagerImpl.java:113)
    at nl.reinders.bm.BMTestToplink.main(BMTestToplink.java:263)
    Caused by: java.lang.OutOfMemoryError: Java heap space
    at java.util.Arrays.copyOfRange(Arrays.java:3209)
    at java.lang.String.<init>(String.java:216)
    at java.lang.StringBuilder.toString(StringBuilder.java:430)
    at java.net.URLStreamHandler.parseURL(URLStreamHandler.java:232)
    at sun.net.www.protocol.file.Handler.parseURL(Handler.java:50)
    at java.net.URL.<init>(URL.java:596)
    at java.net.URL.<init>(URL.java:464)
    at sun.misc.URLClassPath$FileLoader.getResource(URLClassPath.java:972)
    at sun.misc.URLClassPath.getResource(URLClassPath.java:168)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:192)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
    at java.util.ResourceBundle$Control.newBundle(ResourceBundle.java:2370)
    at java.util.ResourceBundle.loadBundle(ResourceBundle.java:1400)
    at java.util.ResourceBundle.findBundle(ResourceBundle.java:1365)
    at java.util.ResourceBundle.findBundle(ResourceBundle.java:1294)
    at java.util.ResourceBundle.findBundle(ResourceBundle.java:1294)
    at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1236)
    at java.util.ResourceBundle.getBundle(ResourceBundle.java:789)
    at oracle.toplink.essentials.exceptions.i18n.ExceptionMessageGenerator.buildMessage(ExceptionMessageGenerator.java:56)
    at oracle.toplink.essentials.exceptions.DescriptorException.targetInvocationWhileConstructorInstantiation(DescriptorException.java:1559)
    at oracle.toplink.essentials.internal.descriptors.InstantiationPolicy.buildNewInstanceUsingDefaultConstructor(InstantiationPolicy.java:139)
    at oracle.toplink.essentials.internal.descriptors.InstantiationPolicy.buildNewInstance(InstantiationPolicy.java:111)
    at oracle.toplink.essentials.internal.descriptors.ObjectBuilder.buildNewInstance(ObjectBuilder.java:324)
    at oracle.toplink.essentials.descriptors.copying.InstantiationCopyPolicy.buildClone(InstantiationCopyPolicy.java:37)
    at oracle.toplink.essentials.descriptors.copying.AbstractCopyPolicy.buildWorkingCopyClone(AbstractCopyPolicy.java:49)
    at oracle.toplink.essentials.internal.descriptors.ObjectBuilder.instantiateWorkingCopyClone(ObjectBuilder.java:2029)
    at oracle.toplink.essentials.internal.sessions.UnitOfWorkImpl.cloneAndRegisterObject(UnitOfWorkImpl.java:641)
    at oracle.toplink.essentials.internal.sessions.UnitOfWorkImpl.registerExistingObject(UnitOfWorkImpl.java:3080)
    cloneShallow:
    nl.reinders.bm.Standversion lNew = new nl.reinders.bm.Standversion();
    lNew.setStand( getStand() );
    lNew.setDerrivedfromstandversion( getDerrivedfromstandversion() );
    lNew.setVersion( getVersion() );
    lNew.setReplaceDate( getReplaceDate() );
    lNew.setPricePerUnit( getPricePerUnit() );
    lNew.setInifill( getInifill() );
    lNew.setComment( getComment() );
    return lNew;
    And:
    nl.reinders.bm.Standassign lNew = new nl.reinders.bm.Standassign();
    lNew.setArticle( getArticle() );
    lNew.setBatchtype( getBatchtype() );
    lNew.setStandversion( getStandversion() );
    lNew.setCode( getCode() );
    lNew.setChangeIndicator( getChangeIndicator() );
    lNew.setEnding( getEnding() );
    lNew.setEnding2( getEnding2() );
    lNew.setAssignean( getAssignean() );
    return lNew;
    This appears to be some kind of recusive thing. The code works fine for a limited number of Standassigns, but when exceeding somewhere around 10 Standassigns, the execution is exceeding 30 seconds. For 60 it's unwaitable.
    What is Toplink doing?

    JPA. And I found the cause but not the reason: all 1:N relations were cascade persist and merge both ways. This causes Toplink to go into what seems like an endless loop (I terminated the testcode after 15 minutes of waiting)..
    For more details see the other thread somewhere half way the first page:
    this is a bug: versioning and deferred constraints
    (I started this thread because this is another topic, but the discussion continued in the other thread never the less.)
    In effect it comes down to that after assigning the PK's Toplink keeps cycling in the same codeset, not accessing the database or anything. By making the cascade go one way, the problem was removed (not solved?).
    However, I still think the endless loop should not happen.

  • Problem using Toplink with JUnit

    Hi,
    I have a problem using Toplink with JUnit. Method under test is very simple: it use a static EntityManager object to open a transaction and persists data to db. When I invoke the method from a test method, it gives me the exception:
    java.lang.AssertionError
         at oracle.toplink.essentials.ejb.cmp3.persistence.PersistenceUnitProcessor.computePURootURL(PersistenceUnitProcessor.java:248)
         at oracle.toplink.essentials.ejb.cmp3.persistence.PersistenceUnitProcessor.findPersistenceArchives(PersistenceUnitProcessor.java:232)
         at oracle.toplink.essentials.ejb.cmp3.persistence.PersistenceUnitProcessor.findPersistenceArchives(PersistenceUnitProcessor.java:216)
         at oracle.toplink.essentials.internal.ejb.cmp3.JavaSECMPInitializer.initialize(JavaSECMPInitializer.java:239)
         at oracle.toplink.essentials.internal.ejb.cmp3.JavaSECMPInitializer.initializeFromMain(JavaSECMPInitializer.java:278)
         at oracle.toplink.essentials.internal.ejb.cmp3.JavaSECMPInitializer.getJavaSECMPInitializer(JavaSECMPInitializer.java:81)
         at oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider.createEntityManagerFactory(EntityManagerFactoryProvider.java:119)
         at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:83)
         at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:60)
         at it.valerio.electromanager.model.EntityFacade.<clinit>(EntityFacade.java:12)
         at it.valerio.electromanager.business.ClienteBiz.insertIntoDatabase(ClienteBiz.java:36)
         at it.valerio.electromanager.test.model.ClienteTest.insertDBTest(ClienteTest.java:30)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
         at java.lang.reflect.Method.invoke(Unknown Source)
         at org.junit.internal.runners.TestMethodRunner.executeMethodBody(TestMethodRunner.java:99)
         at org.junit.internal.runners.TestMethodRunner.runUnprotected(TestMethodRunner.java:81)
         at org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
         at org.junit.internal.runners.TestMethodRunner.runMethod(TestMethodRunner.java:75)
         at org.junit.internal.runners.TestMethodRunner.run(TestMethodRunner.java:45)
         at org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod(TestClassMethodsRunner.java:66)
         at org.junit.internal.runners.TestClassMethodsRunner.run(TestClassMethodsRunner.java:35)
         at org.junit.internal.runners.TestClassRunner$1.runUnprotected(TestClassRunner.java:42)
         at org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
         at org.junit.internal.runners.TestClassRunner.run(TestClassRunner.java:52)
         at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:38)
         at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
         at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
         at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
         at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
         at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
    Where is the problem???
    Regards,
    Valerio

    EntityFacade class is very simple and it uses a static EntityManager object. Here the code:
    public class EntityFacade {
         private static EntityManager em = Persistence.createEntityManagerFactory("ElectroManager").createEntityManager();
         private static Logger logger=Logger.getLogger(EntityFacade.class);
         public static void insertCliente(Cliente c)
              logger.debug("Inserisco cliente nel db: " + c);
              em.getTransaction().begin();
              c.setId(getNextIdForTable("Cliente"));
              em.persist(c);
              em.getTransaction().commit();
    If I call the method from inside a main it works well, so I think the problem is not the classpath neither the URL in the persistence.xml. However the URL is:
    <property name="toplink.jdbc.url" value="jdbc:derby:c:/programmi/ElectroManager/db/electroManager"/>
    I use the latest build version of TopLink.
    Thanks.

  • EJB 3.0 JPA: java.lang.NullPointerException at  JdbcOdbcDriver.initialize()

    Hello every body,
    I'm trying to implement EJB 3.0 JPA .
    The entities Users ,and Products are created ,
    and the client is as shown below:
    package com.prapansol.demos;
    import java.util.List;
    import javax.ejb.EJB;
    import com.xyz.demos.ejb30.Users;
    import javax.persistence.EntityManager;
    import javax.persistence.EntityManagerFactory;
    import javax.persistence.Persistence;
    import javax.persistence.PersistenceContext;
    public class Client {
    private EntityManager manager;
    public Client() {
    EntityManagerFactory emf = Persistence.createEntityManagerFactory("EJB");
    EntityManager em=emf.createEntityManager();
    this.setEntityManager(em);
    /** <code>select o from Users o</code> */
    public List<Users> queryUsersFindAll() {
    List<Users> users =null;
    try{
    users= getEntityManager().createNamedQuery("Users.findAll").getResultList();
    //@NamedQuery(name = "Users.findAll", query = "select o from Users o") has been defined in Users entity
    }catch(Exception e){
    System.out.println(e.getClass().getName());
    System.out.println(e.getMessage());
    e.printStackTrace();
    return users;
    public void shutDown(){
    getEntityManager().close();
    public void setEntityManager(EntityManager manager) {
    this.manager = manager;
    public EntityManager getEntityManager() {
    return manager;
    public static void main(String[] args) {
    Client client = new Client();
    List<Users> users=client.queryUsersFindAll();
         for(Users user : users ){System.out.println(""+user.getFirstName()+user.getLastName()); }
    The persistence.xml file is:
    <?xml version="1.0" encoding="UTF-8" ?>
    <persistence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
    version="1.0" xmlns="http://java.sun.com/xml/ns/persistence">
    <persistence-unit name="EJB">
    <provider>oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider</provider>
    <class>com.xyz.demos.ejb30.Users</class>
    <class>com.xyz.demos.ejb30.Products</class>
    <class>com.xyz..demos.ejb30.ServiceRequests</class>
    <class>com.xyz.demos.ejb30.ServiceHistories</class>
    <class>com.xyz.demos.ejb30.ExpertiseAreas</class>
    <properties>
    <property name="jdbc.driver" value="oracle.jdbc.driver.OracleDriver"/>
    <property name="jdbc.connection.string" value="jdbc:oracle:thin:@localhost:1521:ORCL"/>
    <property name="jdbc.user" value="scott"/>
    <property name="jdbc.password" value="tiger"/>
    <property name="toplink.logging.level" value="INFO"/>
    </properties>
    </persistence-unit>
    </persistence>
    Here are the log messages :
    [TopLink Finest]: 2007.03.23 01:36:15.095--ServerSession(32012057)--Thread(Thread[main,5,main])--property=toplink.weaving; value=true
    [TopLink Config]: 2007.03.23 01:36:15.323--ServerSession(32012057)--Thread(Thread[main,5,main])--The alias name for the entity class [class com.prapansol.demos.technology.Users] is being defaulted to: Users.
    [TopLink Config]: 2007.03.23 01:36:15.335--ServerSession(32012057)--Thread(Thread[main,5,main])--The table name for entity [class com.prapansol.demos.technology.Users] is being defaulted to: USERS.
    [TopLink Config]: 2007.03.23 01:36:15.360--ServerSession(32012057)--Thread(Thread[main,5,main])--The column name for element [private java.lang.String com.prapansol.demos.technology.Users.city] is being defaulted to: CITY.
    [TopLink Config]: 2007.03.23 01:36:15.377--ServerSession(32012057)--Thread(Thread[main,5,main])--The column name for element [private java.lang.String com.prapansol.demos.technology.Users.email] is being defaulted to: EMAIL.
    [TopLink Config]: 2007.03.23 01:36:15.431--ServerSession(32012057)--Thread(Thread[main,5,main])--The alias name for the entity class [class com.prapansol.demos.technology.ServiceHistories] is being defaulted to: ServiceHistories.
    [TopLink Config]: 2007.03.23 01:36:15.435--ServerSession(32012057)--Thread(Thread[main,5,main])--The column name for element [private java.lang.String com.prapansol.demos.technology.ServiceHistories.notes] is being defaulted to: NOTES.
    [TopLink Config]: 2007.03.23 01:36:15.456--ServerSession(32012057)--Thread(Thread[main,5,main])--The alias name for the entity class [class com.prapansol.demos.technology.ServiceRequests] is being defaulted to: ServiceRequests.
    [TopLink Config]: 2007.03.23 01:36:15.460--ServerSession(32012057)--Thread(Thread[main,5,main])--The column name for element [private java.lang.String com.prapansol.demos.technology.ServiceRequests.status] is being defaulted to: STATUS.
    [TopLink Config]: 2007.03.23 01:36:15.461--ServerSession(32012057)--Thread(Thread[main,5,main])--The alias name for the entity class [class com.prapansol.demos.technology.Products] is being defaulted to: Products.
    [TopLink Config]: 2007.03.23 01:36:15.464--ServerSession(32012057)--Thread(Thread[main,5,main])--The table name for entity [class com.prapansol.demos.technology.Products] is being defaulted to: PRODUCTS.
    [TopLink Config]: 2007.03.23 01:36:15.466--ServerSession(32012057)--Thread(Thread[main,5,main])--The column name for element [private java.lang.String com.prapansol.demos.technology.Products.description] is being defaulted to: DESCRIPTION.
    [TopLink Config]: 2007.03.23 01:36:15.466--ServerSession(32012057)--Thread(Thread[main,5,main])--The column name for element [private java.lang.String com.prapansol.demos.technology.Products.image] is being defaulted to: IMAGE.
    [TopLink Config]: 2007.03.23 01:36:15.467--ServerSession(32012057)--Thread(Thread[main,5,main])--The column name for element [private java.lang.String com.prapansol.demos.technology.Products.name] is being defaulted to: NAME.
    [TopLink Config]: 2007.03.23 01:36:15.468--ServerSession(32012057)--Thread(Thread[main,5,main])--The alias name for the entity class [class com.prapansol.demos.technology.ExpertiseAreas] is being defaulted to: ExpertiseAreas.
    [TopLink Config]: 2007.03.23 01:36:15.470--ServerSession(32012057)--Thread(Thread[main,5,main])--The column name for element [private java.lang.String com.prapansol.demos.technology.ExpertiseAreas.notes] is being defaulted to: NOTES.
    [TopLink Config]: 2007.03.23 01:36:15.574--ServerSession(32012057)--Thread(Thread[main,5,main])--The target entity (reference) class for the one to many mapping element [private java.util.List com.prapansol.demos.technology.ServiceRequests.serviceHistoriesList] is being defaulted to: class com.prapansol.demos.technology.ServiceHistories.
    [TopLink Config]: 2007.03.23 01:36:15.579--ServerSession(32012057)--Thread(Thread[main,5,main])--The target entity (reference) class for the many to one mapping element [private com.prapansol.demos.technology.ServiceRequests com.prapansol.demos.technology.ServiceHistories.serviceRequests] is being defaulted to: class com.prapansol.demos.technology.ServiceRequests.
    [TopLink Config]: 2007.03.23 01:36:15.592--ServerSession(32012057)--Thread(Thread[main,5,main])--The target entity (reference) class for the one to many mapping element [private java.util.List com.prapansol.demos.technology.Users.serviceHistoriesList] is being defaulted to: class com.prapansol.demos.technology.ServiceHistories.
    [TopLink Config]: 2007.03.23 01:36:15.593--ServerSession(32012057)--Thread(Thread[main,5,main])--The target entity (reference) class for the many to one mapping element [private com.prapansol.demos.technology.Users com.prapansol.demos.technology.ServiceHistories.users] is being defaulted to: class com.prapansol.demos.technology.Users.
    [TopLink Config]: 2007.03.23 01:36:15.593--ServerSession(32012057)--Thread(Thread[main,5,main])--The target entity (reference) class for the one to many mapping element [private java.util.List com.prapansol.demos.technology.Users.expertiseAreasList] is being defaulted to: class com.prapansol.demos.technology.ExpertiseAreas.
    [TopLink Config]: 2007.03.23 01:36:15.594--ServerSession(32012057)--Thread(Thread[main,5,main])--The target entity (reference) class for the many to one mapping element [private com.prapansol.demos.technology.Users com.prapansol.demos.technology.ExpertiseAreas.users] is being defaulted to: class com.prapansol.demos.technology.Users.
    [TopLink Config]: 2007.03.23 01:36:15.594--ServerSession(32012057)--Thread(Thread[main,5,main])--The target entity (reference) class for the many to one mapping element [private com.prapansol.demos.technology.Products com.prapansol.demos.technology.ExpertiseAreas.products] is being defaulted to: class com.prapansol.demos.technology.Products.
    [TopLink Config]: 2007.03.23 01:36:15.595--ServerSession(32012057)--Thread(Thread[main,5,main])--The target entity (reference) class for the one to many mapping element [private java.util.List com.prapansol.demos.technology.Products.expertiseAreasList] is being defaulted to: class com.prapansol.demos.technology.ExpertiseAreas.
    [TopLink Finer]: 2007.03.23 01:36:15.600--ServerSession(32012057)--Thread(Thread[main,5,main])--Weaver processing class [com.prapansol.demos.technology.Users].
    [TopLink Finer]: 2007.03.23 01:36:15.601--ServerSession(32012057)--Thread(Thread[main,5,main])--Weaver processing class [com.prapansol.demos.technology.ServiceHistories].
    [TopLink Finer]: 2007.03.23 01:36:15.601--ServerSession(32012057)--Thread(Thread[main,5,main])--Weaver processing class [com.prapansol.demos.technology.ServiceRequests].
    [TopLink Finer]: 2007.03.23 01:36:15.601--ServerSession(32012057)--Thread(Thread[main,5,main])--Weaver processing class [com.prapansol.demos.technology.ExpertiseAreas].
    [TopLink Finer]: 2007.03.23 01:36:15.602--ServerSession(32012057)--Thread(Thread[main,5,main])--Weaver processing class [com.prapansol.demos.technology.Products].
    [TopLink Finer]: 2007.03.23 01:36:15.604--Thread(Thread[main,5,main])--cmp_init_globalInstrumentation_is_null
    [TopLink Finest]: 2007.03.23 01:36:15.613--ServerSession(32012057)--Thread(Thread[main,5,main])--begin deploying Persistence Unit EJB; state Predeployed; deploymentCount 0
    [TopLink Finest]: 2007.03.23 01:36:15.633--ServerSession(32012057)--Thread(Thread[main,5,main])--property=toplink.logging.level; value=FINEST; translated value=FINEST
    [TopLink Finest]: 2007.03.23 01:36:15.634--ServerSession(32012057)--Thread(Thread[main,5,main])--property=toplink.logging.level; value=FINEST; translated value=FINEST
    [TopLink Info]: 2007.03.23 01:36:15.639--ServerSession(32012057)--Thread(Thread[main,5,main])--TopLink, version: Oracle TopLink Essentials - 2006.8 (Build 060829)
    [TopLink Finest]: 2007.03.23 01:36:15.646--ServerSession(32012057)--Thread(Thread[main,5,main])--end deploying
    Persistence Unit EJB; state Undeployed; deploymentCount 0
    Here is the Stack Trace:
    Exception in thread "main" java.lang.NullPointerException
         at sun.jdbc.odbc.JdbcOdbcDriver.initialize(JdbcOdbcDriver.java:436)
         at sun.jdbc.odbc.JdbcOdbcDriver.connect(JdbcOdbcDriver.java:153)
         at java.sql.DriverManager.getConnection(DriverManager.java:525)
         at java.sql.DriverManager.getConnection(DriverManager.java:140)
         at oracle.toplink.essentials.sessions.DefaultConnector.connect(DefaultConnector.java:85)
         at oracle.toplink.essentials.sessions.DatasourceLogin.connectToDatasource(DatasourceLogin.java:170)
         at oracle.toplink.essentials.internal.sessions.DatabaseSessionImpl.loginAndDetectDatasource(DatabaseSessionImpl.java:537)
         at oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider.login(EntityManagerFactoryProvider.java:180)
         at oracle.toplink.essentials.internal.ejb.cmp3.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:230)
         at oracle.toplink.essentials.internal.ejb.cmp3.base.EntityManagerFactoryImpl.getServerSession(EntityManagerFactoryImpl.java:84)
         at oracle.toplink.essentials.internal.ejb.cmp3.base.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:127)
         at oracle.toplink.essentials.internal.ejb.cmp3.base.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:121)
         at oracle.toplink.essentials.internal.ejb.cmp3.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:76)
         at com.prapansol.demos.Client.<init>(Client.java:29)
         at com.prapansol.demos.Client.main(Client.java:83)
    where am I doing wrong?
    Why does sun.jdbc.odbc.JdbcOdbcDriver.initialize method get called when I'm using Oracle DataBase?
    Am I missing any thing ?
    I'll be thankful if any one help me find my fault?
    Thanking you in Advance,
    Regards,
    Samba

    Check the property names for configuring TopLink's internal connection pool. All of the JDBC property names should be prefixed with toplink.
    Refer to the TopLink JPA extensions guide for more information.
    http://www.oracle.com/technology/products/ias/toplink/jpa/resources/toplink-jpa-extensions.html
    Doug

  • Unexpected severe error in Jdeveloper opening a toplink project

    Folks,
    I'm getting the following errors trying to open a Toplink project on Jdev 11.1.1.2
    Could you please advice ?
    Thanks,
    Gustavo.
    oracle.javatools.db:Jun 25, 2010 11:44:38 AM oracle.javatools.db.marshal.DBObjectSAXHelper logConversionError
    WARNING: couldn't parse XML element: oracle.javatools.db.TemporaryObjectID
    oracle.javatools.db:Jun 25, 2010 11:44:38 AM oracle.javatools.db.marshal.DBObjectSAXHelper logConversionError
    WARNING: couldn't parse XML element: oracle.javatools.db.TemporaryObjectID
    An error was detected while opening a persistence file.
    java.lang.NullPointerException
    o.toplink.workbench.addin.mappings.spi.db.JDeveloperTable.getForeignKeys(JDeveloperTable.java:60)
    o.toplink.workbench.mappingsmodel.db.MWTable.refreshReferences(MWTable.java:219)
    o.toplink.workbench.mappingsmodel.db.MWDatabase.refreshTables(MWDatabase.java:1182)
    o.toplink.workbench.mappingsmodel.db.MWDatabase.refreshRelations(MWDatabase.java:1142)
    o.toplink.workbench.mappingsmodel.db.MWDatabase.refresh(MWDatabase.java:1074)
    o.toplink.workbench.mappingsmodel.sessions.MWSessionsProject.initializeDatabases(MWSessionsProject.java:501)
    o.toplink.workbench.mappingsmodel.sessions.MWSessionsProject.initialize(MWSessionsProject.java:487)
    o.toplink.workbench.mappingsmodel.sessions.MWSessionsProject.<init>(MWSessionsProject.java:153)
    o.toplink.workbench.addin.application.SessionsProjectContext.buildTopLinkSessionsProject(SessionsProjectContext.java:63)
    o.toplink.workbench.addin.application.SessionsProjectContext.initialize(SessionsProjectContext.java:101)
    o.toplink.workbench.addin.application.AbstractTopLinkContext.<init>(AbstractTopLinkContext.java:51)
    o.toplink.workbench.addin.application.SessionsProjectContext.<init>(SessionsProjectContext.java:45)
    o.toplink.workbench.addin.application.ContextManager.openTopLinkSessions(ContextManager.java:1378)
    o.toplink.workbench.addin.application.ContextManager.openTopLinkContexts(ContextManager.java:1327)
    o.toplink.workbench.addin.TopLinkProjectChangeListener$TopLinkContextWorker.run(TopLinkProjectChangeListener.java:370)
    j.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
    j.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    j.util.concurrent.FutureTask.run(FutureTask.java:138)
    j.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    j.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    j.lang.Thread.run(Thread.java:619)
    An error was detected while opening a persistence file.
    java.lang.NullPointerException
    o.toplink.workbench.addin.mappings.spi.db.JDeveloperTable.getForeignKeys(JDeveloperTable.java:60)
    o.toplink.workbench.mappingsmodel.db.MWTable.refreshReferences(MWTable.java:219)
    o.toplink.workbench.mappingsmodel.db.MWDatabase.refreshTables(MWDatabase.java:1182)
    o.toplink.workbench.mappingsmodel.db.MWDatabase.refreshRelations(MWDatabase.java:1142)
    o.toplink.workbench.mappingsmodel.db.MWDatabase.refresh(MWDatabase.java:1074)
    o.toplink.workbench.mappingsmodel.jpa.MWPersistenceProject.initializeDatabases(MWPersistenceProject.java:97)
    o.toplink.workbench.mappingsmodel.jpa.MWPersistenceProject.<init>(MWPersistenceProject.java:70)
    o.toplink.workbench.addin.application.PersistenceProjectContext.initialize(PersistenceProjectContext.java:75)
    o.toplink.workbench.addin.application.AbstractTopLinkContext.<init>(AbstractTopLinkContext.java:51)
    o.toplink.workbench.addin.application.PersistenceProjectContext.<init>(PersistenceProjectContext.java:43)
    o.toplink.workbench.addin.application.ContextManager.openPersistence(ContextManager.java:1188)
    o.toplink.workbench.addin.application.ContextManager.openTopLinkContexts(ContextManager.java:1331)
    o.toplink.workbench.addin.TopLinkProjectChangeListener$TopLinkContextWorker.run(TopLinkProjectChangeListener.java:370)
    j.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
    j.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    j.util.concurrent.FutureTask.run(FutureTask.java:138)
    j.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    j.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    j.lang.Thread.run(Thread.java:619)
    An error was detected while opening a persistence file.
    java.lang.NullPointerException
    o.toplink.workbench.addin.mappings.spi.db.JDeveloperTable.getForeignKeys(JDeveloperTable.java:60)
    o.toplink.workbench.mappingsmodel.db.MWTable.refreshReferences(MWTable.java:219)
    o.toplink.workbench.mappingsmodel.db.MWDatabase.refreshTables(MWDatabase.java:1182)
    o.toplink.workbench.mappingsmodel.db.MWDatabase.refreshRelations(MWDatabase.java:1142)
    o.toplink.workbench.mappingsmodel.db.MWDatabase.refresh(MWDatabase.java:1074)
    o.toplink.workbench.mappingsmodel.sessions.MWSessionsProject.initializeDatabases(MWSessionsProject.java:501)
    o.toplink.workbench.mappingsmodel.sessions.MWSessionsProject.initialize(MWSessionsProject.java:487)
    o.toplink.workbench.mappingsmodel.sessions.MWSessionsProject.<init>(MWSessionsProject.java:153)
    o.toplink.workbench.addin.application.SessionsProjectContext.buildTopLinkSessionsProject(SessionsProjectContext.java:63)
    o.toplink.workbench.addin.application.SessionsProjectContext.initialize(SessionsProjectContext.java:101)
    o.toplink.workbench.addin.application.AbstractTopLinkContext.<init>(AbstractTopLinkContext.java:51)
    o.toplink.workbench.addin.application.SessionsProjectContext.<init>(SessionsProjectContext.java:45)
    o.toplink.workbench.addin.application.ContextManager.openTopLinkSessions(ContextManager.java:1378)
    o.toplink.workbench.addin.application.ContextManager.openTopLinkContexts(ContextManager.java:1327)
    o.toplink.workbench.addin.TopLinkProjectChangeListener$TopLinkContextWorker.run(TopLinkProjectChangeListener.java:370)
    j.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
    j.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    j.util.concurrent.FutureTask.run(FutureTask.java:138)
    j.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    j.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    j.lang.Thread.run(Thread.java:619)
    oracle.jps.credstore:Jun 25, 2010 11:44:41 AM oracle.security.jps.internal.credstore.ssp.CsfWalletManager openWallet
    WARNING: Opening of wallet based credential store failed. Reason java.io.IOException: PKI-02002: Unable to open the wallet. Check password.
    oracle.adf.share.jndi.ReferenceStoreHelper:Jun 25, 2010 11:44:48 AM oracle.adf.share.jndi.ReferenceStoreHelper getReferencesMapEx
    WARNING: Incomplete connection reference object for connection:dnd

    Stantonc
    There is an Adobe document that deals with this specific error message.
    Have you seen it and tried it?
    http://helpx.adobe.com/premiere-elements/kb/keyframe-h-142-error-opening.html
    Please check it out and then let us know if that worked for you.
    Thanks.
    ATR

  • Toplink app works without oc4j,fails with security excp. in oc4j[SOLVED]

    OS: Windows XP
    jdk version: 1.5.0.04 (installed normally with windows installer, no tampering)
    JDeveloper version: 10.1.3.2.0 (base installation)
    I'm new to JDeveloper and I'm working on SRDemo application from online ADF tutorial under JDeveloper. After 6th chapter I tried to run the app with embedded oc4j. After a login to app i got a toplink exception caused by a security exception. I've tried toplink part of the application with a standalone client it works without this strange problem. Also other toplink tutorials that i have work without oc4j.
    The exception is this:
    Note: some messages were in Turkish, so I (partly) translated them, they may not match original english messages
    [TopLink Info]: 2007.07.06 10:52:31.312--ServerSession(29560314)--Thread(Thread[HTTPThreadGroup-4,5,HTTPThreadGroup])--TopLink, sürüm: Oracle TopLink - 10g Release 3 (10.1.3.1.0) (Build 061004)
    [TopLink Config]: 2007.07.06 10:52:31.328--ServerSession(29560314)--Connection(27524709)--Thread(Thread[HTTPThreadGroup-4,5,HTTPThreadGroup])--connected(DatabaseLogin(
         platform=>Oracle10Platform
         user name=> "SRDEMO"
         data source url=> "jdbc:oracle:thin:@localhost:1521:XE"
    [TopLink Severe]: 2007.07.06 10:52:31.343--ServerSession(29560314)--Thread(Thread[HTTPThreadGroup-4,5,HTTPThreadGroup])--Local Exception Stack:
    Exception[TOPLINK-7107] (Oracle TopLink - 10g Release 3 (10.1.3.1.0) (Build 061004)): oracle.toplink.exceptions.ValidationException
    Exception message: Error in decrypting .....
    Caused by: java.security.NoSuchAlgorithmException: Algorithm DES not available      at oracle.toplink.exceptions.ValidationException.errorDecryptingPassword(ValidationException.java:587)
         at oracle.toplink.internal.security.JCEEncryptor.decryptPassword(JCEEncryptor.java:94)
         at oracle.toplink.sessions.DatasourceLogin.prepareProperties(DatasourceLogin.java:296)
         at oracle.toplink.sessions.DatasourceLogin.connectToDatasource(DatasourceLogin.java:147)
         at oracle.toplink.internal.databaseaccess.DatasourceAccessor.connect(DatasourceAccessor.java:197)
    ...(the stack goes on followed by below causes)
    Caused by: java.security.NoSuchAlgorithmException: Algorithm DES not available
         at javax.crypto.SunJCE_b.a(DashoA12275)
         at javax.crypto.SecretKeyFactory.getInstance(DashoA12275)
         at oracle.toplink.internal.security.JCEEncryptor$Synergizer.getMultitasker(JCEEncryptor.java:104)
         at oracle.toplink.internal.security.JCEEncryptor.decryptPassword(JCEEncryptor.java:74)
         ... 117 more
    Caused by: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: DES, provider: SunJCE, class: com.sun.crypto.provider.DESKeyFactory)
         at java.security.Provider$Service.newInstance(Provider.java:1155)
         at sun.security.jca.GetInstance.getInstance(GetInstance.java:220)
         ... 121 more
    Caused by: java.lang.SecurityException: class "com.sun.crypto.provider.DESKeyFactory"'s signer information does not match signer information of other classes in the same package
         at java.lang.ClassLoader.checkCerts(ClassLoader.java:775)
         at java.lang.ClassLoader.preDefineClass(ClassLoader.java:487)
         at java.lang.ClassLoader.defineClass(ClassLoader.java:614)
         at oracle.classloader.PolicyClassLoader.defineClass(PolicyClassLoader.java:2241)
         at oracle.classloader.PolicyClassLoader.findLocalClass(PolicyClassLoader.java:1462)
         at oracle.classloader.SearchPolicy$FindLocal.getClass(SearchPolicy.java:167)
         at oracle.classloader.SearchSequence.getClass(SearchSequence.java:119)
         at oracle.classloader.PolicyClassLoader.internalLoadClass(PolicyClassLoader.java:1674)
         at oracle.classloader.PolicyClassLoader.loadClass(PolicyClassLoader.java:1635)
         at oracle.classloader.PolicyClassLoader.loadClass(PolicyClassLoader.java:1620)
         at java.security.Provider$Service.getImplClass(Provider.java:1172)
         at java.security.Provider$Service.newInstance(Provider.java:1129)
         ... 122 more
    This happens when i run toplink project inside oc4j, with a normal java client outside oc4j it works.
    The strange thing is the root cause of the problem (the exception complaining about signer) . If the root cause of this problem was really correct system wide, neither security code samples nor the standalone client that i tried would have worked.
    Only similiar issue I've found on the net is a problem that occured under eclipse due to a bug in previous versions of jce, but it seems this is no longer an issue.
    No one other than me seems to have this problem, so this implies a problem with my system, but the root exception about signer information (which is not correct) says there is something wrong with toplink/oc4j runtime or there is some subtle bug.
    I am trying to download another jdk1.5 version to see if this is a subtle bug of java-1.5.0.04 and oc4j, but either sun servers or my isp has a problem because the download is in the order of bytes and fails all the time.
    I think there can be a problem with the java2.policy file under oc4j config dir, but i don't know if it is really used and necessary or not.
    I don't know much about oc4j config so i need some help to proceed. thanks in advance
    Message was edited by:
    identityunknown

    Sorry, I tried something that I should have tried before posting, that gives another information about my problem.
    when i use standalone oc4j using start_oc4j.bat under jdev/bin, I also get the same security exception stack (nothing deployed to server) during server initialization. the default java command in start_oc4j.bat is this:
    OC4J_OPTS=
    VM_OPTS=-XX:MaxPermSize=256m
    JAVA_COMMAND="%JAVA_HOME%\bin\java.exe" %VM_OPTS% -jar oc4j.jar %OC4J_OPTS%
    if I change the command to this:
    OC4J_OPTS=
    VM_OPTS=-XX:MaxPermSize=256m -Xbootclasspath/p:"%JAVA_HOME%\jre\lib\ext\sunjce_provider.jar"
    JAVA_COMMAND="%JAVA_HOME%\bin\java.exe" %VM_OPTS% -jar oc4j.jar %OC4J_OPTS%
    and put sunjce_provider.jar on boot classpath I don't get that exception and oc4j initializes normally. My new questions are:
    1. what is the reason for this behavior
    2. how can I specify boot classpath option for embedded oc4j and/or JDeveloper

  • DriverManagerConnectionPoolConnection not closed with TopLink cahce synch

    We're using TopLink in several JVMs and have configured cache synchronisation over JMS. The JMS topic runs on Oracle AQ. Every once in a while we get the follwoing error from OC4J:
    DriverManagerConnectionPoolConnection not closed, check your code!
    Now this could be some connection we forget to close, but we do use TopLink for all our databasecommunication. I also see that every time it shows up the last steps of the stacktrace involves the TopLink cache and the AQ classes:
    05/05/12 11:42:27 com.evermind.sql.DriverManagerConnectionPoolConnection@10e3c8c was Created at:
    05/05/12 11:42:27 java.lang.Throwable: DriverManagerConnectionPoolConnection created
    05/05/12 11:42:27      at com.evermind.sql.DriverManagerConnectionPoolConnection.<init>(DriverManagerConnectionPoolConnection.java:29)
    05/05/12 11:42:27      at com.evermind.sql.DriverManagerPooledConnection.getNewLogicalConnection(DriverManagerPooledConnection.java:375)
    05/05/12 11:42:27      at com.evermind.sql.DriverManagerPooledConnection.getConnection(DriverManagerPooledConnection.java:121)
    05/05/12 11:42:27      at com.evermind.sql.OrionPooledDataSource.getConnection(OrionPooledDataSource.java:347)
    05/05/12 11:42:27      at com.evermind.sql.OrionCMTConnection.setConnection(OrionCMTConnection.java:191)
    05/05/12 11:42:27      at com.evermind.sql.OrionCMTConnection.intercept(OrionCMTConnection.java:141)
    05/05/12 11:42:27      at com.evermind.sql.OrionCMTConnection.setAutoCommit(OrionCMTConnection.java:479)
    05/05/12 11:42:27      at com.evermind.sql.ConnectionBCELProxy.setAutoCommit(ConnectionBCELProxy.java:105)
    05/05/12 11:42:27      at oracle.jms.AQjmsDBConnMgr.extraInit(AQjmsDBConnMgr.java:740)
    05/05/12 11:42:27      at oracle.jms.AQjmsDBConnMgr.getConnection(AQjmsDBConnMgr.java:568)
    05/05/12 11:42:27      at oracle.jms.AQjmsDBConnMgr.<init>(AQjmsDBConnMgr.java:367)
    05/05/12 11:42:27      at oracle.jms.AQjmsConnection.<init>(AQjmsConnection.java:246)
    05/05/12 11:42:27      at oracle.jms.AQjmsTopicConnectionFactory.createTopicConnection(AQjmsTopicConnectionFactory.java:214)
    05/05/12 11:42:27      at oracle.toplink.remote.jms.JMSClusteringService.createRemoteConnection(JMSClusteringService.java:67)
    05/05/12 11:42:27      at oracle.toplink.remote.jms.JMSClusteringService.retreiveRemoteSessions(JMSClusteringService.java:199)
    05/05/12 11:42:27      at oracle.toplink.remote.jms.JMSClusteringService.run(JMSClusteringService.java:177)
    05/05/12 11:42:27      at oracle.toplink.remote.jms.JMSClusteringService.initialize(JMSClusteringService.java:164)
    05/05/12 11:42:27      at oracle.toplink.remote.CacheSynchronizationManager.initialize(CacheSynchronizationManager.java:112)
    05/05/12 11:42:27      at oracle.toplink.publicinterface.DatabaseSession.login(DatabaseSession.java:534)
    05/05/12 11:42:27      at org.springframework.orm.toplink.SessionFactoryBean.afterPropertiesSet(Unknown Source)
    05/05/12 11:42:27      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1072)
    05/05/12 11:42:27      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:343)
    05/05/12 11:42:27      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:260)
    05/05/12 11:42:27      at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:221)
    05/05/12 11:42:27      at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:145)
    05/05/12 11:42:27      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.resolveReference(AbstractAutowireCapableBeanFactory.java:980)
    05/05/12 11:42:27      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.resolveValueIfNecessary(AbstractAutowireCapableBeanFactory.java:918)
    05/05/12 11:42:27      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:859)
    05/05/12 11:42:27      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:688)
    05/05/12 11:42:27      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:325)
    05/05/12 11:42:27      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:260)
    05/05/12 11:42:27      at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:221)
    05/05/12 11:42:27      at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:145)
    05/05/12 11:42:27      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.resolveReference(AbstractAutowireCapableBeanFactory.java:980)
    05/05/12 11:42:27      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.resolveValueIfNecessary(AbstractAutowireCapableBeanFactory.java:918)
    05/05/12 11:42:27      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.resolveConstructorArguments(AbstractAutowireCapableBeanFactory.java:574)
    05/05/12 11:42:27      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:477)
    05/05/12 11:42:27      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:306)
    05/05/12 11:42:27      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:260)
    05/05/12 11:42:27      at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:221)
    05/05/12 11:42:27      at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:145)
    05/05/12 11:42:27      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.resolveReference(AbstractAutowireCapableBeanFactory.java:980)
    05/05/12 11:42:27      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.resolveValueIfNecessary(AbstractAutowireCapableBeanFactory.java:918)
    05/05/12 11:42:27      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.resolveConstructorArguments(AbstractAutowireCapableBeanFactory.java:574)
    05/05/12 11:42:27      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:477)
    05/05/12 11:42:27      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:306)
    05/05/12 11:42:27      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:260)
    05/05/12 11:42:27      at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:221)
    05/05/12 11:42:27      at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:145)
    05/05/12 11:42:27      at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:291)
    05/05/12 11:42:27      at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:317)
    05/05/12 11:42:27      at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:80)
    05/05/12 11:42:27      at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:65)
    05/05/12 11:42:27      at org.springframework.context.access.ContextJndiBeanFactoryLocator.createBeanFactory(ContextJndiBeanFactoryLocator.java:40)
    05/05/12 11:42:27      at org.springframework.beans.factory.access.JndiBeanFactoryLocator.useBeanFactory(JndiBeanFactoryLocator.java:68)
    05/05/12 11:42:27      at org.springframework.ejb.support.AbstractEnterpriseBean.loadBeanFactory(AbstractEnterpriseBean.java:115)
    05/05/12 11:42:27      at org.springframework.ejb.support.AbstractStatelessSessionBean.ejbCreate(AbstractStatelessSessionBean.java:63)
    For those of you familiar with the Spring Framework you'll notice I'm invoking an SLSB throug it, and that thet start of the stackrace is missing, but this error also shows up in other contexts. This is only one of them. They all have in common the AQ and Cache sync lines.
    Anyone have any ideas? Is it even tied to TopLink or might it be an AQ issue?
    Anders,

    What version of OC4J are you using?
    If you are using a 10.1.3 preview release, this may be an issue with OC4J connection pooling in that preview release.
    You could try using AS JMS and TopLink connection pooling to determine which is causing the issue.

  • TopLink - JPA - Jdeveloper 11g

    Hi All,
    I am having a TopLink - JPA example. I am executing a InsertExample.java which will insert record. But as I run InsertExample.java I keep getting following error.
    I am using Jdeveloper 11 g (and NOT Eclipse). How to get rid of following error ?
    "C:\Program Files\Java\jdk1.6.0_22\bin\javaw.exe" -client -classpath C:\MyJdevUserHomeEnv\mywork\TopLinkDesign\.adf;C:\MyJdevUserHomeEnv\mywork\TopLinkDesign\TopLink\classes;C:\Oracle\MiddlewarePS3\modules\com.oracle.toplink_1.0.0.0_11-1-1-4-0.jar;C:\Oracle\MiddlewarePS3\modules\org.eclipse.persistence_1.0.0.0_2-1.jar;C:\Oracle\MiddlewarePS3\modules\com.bea.core.antlr.runtime_2.7.7.jar;C:\Oracle\MiddlewarePS3\oracle_common\modules\oracle.toplink_11.1.1\javax.persistence_2.0_preview.jar;C:\Oracle\MiddlewarePS3\oracle_common\modules\oracle.xdk_11.1.0\xmlparserv2.jar;C:\Oracle\MiddlewarePS3\oracle_common\modules\oracle.xdk_11.1.0\xml.jar;C:\downloads\toplink_111130_en.zip;C:\downloads\coherence-java-3.6.0.0b17229.zip;C:\downloads\coherence-java-3.6.0.0b17229\coherence\lib\coherence.jar;C:\downloads\eclipselink-2.1.1.v20100817-r8050\eclipselink\jlib\eclipselink.jar;C:\downloads\toplink_111130_en\jlib\toplink-grid.jar;C:\Oracle\MiddlewarePS3\jdeveloper\ide\macros\..\..\..\wlserver_10.3\server\lib\ojdbc6.jar;C:\Oracle\MiddlewarePS3\jdeveloper\ide\macros\..\..\..\oracle_common\modules\oracle.nlsrtl_11.1.0\orai18n.jar;C:\Oracle\MiddlewarePS3\oracle_common\modules\oracle.odl_11.1.1\ojdl.jar;C:\Oracle\MiddlewarePS3\oracle_common\modules\oracle.dms_11.1.1\dms.jar -Djavax.net.ssl.trustStore=C:\Oracle\MiddlewarePS3\wlserver_10.3\server\lib\DemoTrust.jks gridcache.example.InsertExample
    [EL Info]: 2010-11-20 19:58:59.418--ServerSession(30936685)--EclipseLink, version: Eclipse Persistence Services - 2.1.2.v20101006-r8316
    [EL Warning]: 2010-11-20 19:58:59.425--java.lang.ClassNotFoundException: weblogic.version
    [EL Info]: 2010-11-20 19:58:59.855--ServerSession(30936685)--file:/C:/MyJdevUserHomeEnv/mywork/TopLinkDesign/TopLink/classes/_employee-pu login successful
    [EL Info]: 2010-11-20 19:58:59.855--JMX MBeanServer instance found: [com.sun.jmx.mbeanserver.JmxMBeanServer@146c1d4], # of beans: [20], domain: [DefaultDomain] at index: [0].
    [EL Warning]: 2010-11-20 19:58:59.861--Failed to initialize MBean threadPoolRuntime: javax.management.InstanceNotFoundException: com.bea:Name=RuntimeService,Type=weblogic.management.mbeanservers.runtime.RuntimeServiceMBean
    [EL Warning]: 2010-11-20 19:58:59.862--Failed to initialize MBean threadPoolRuntime: javax.management.InstanceNotFoundException: com.bea:Name=RuntimeService,Type=weblogic.management.mbeanservers.runtime.RuntimeServiceMBean
    Exception in thread "main" java.lang.IllegalArgumentException: Object: Employee(0: Smith, Bob) is not a known entity type.
    *     at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.registerNewObjectForPersist(UnitOfWorkImpl.java:4198)*
    *     at org.eclipse.persistence.internal.jpa.EntityManagerImpl.persist(EntityManagerImpl.java:403)*
    *     at gridcache.example.InsertExample.main(InsertExample.java:29)*
    Process exited with exit code 1.

    It seems this is not a Java EE deployment so is the Employee class listed in the persistence.xml file? Or have you set <exclude-unlisted-classes>false</exclude-unlisted-classes> ? Alternatively you could package the classes into a Jar referenced through the <jar-file></jar-file> element.
    --Gordon                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • Toplink JPA and Java type mapping

    Hi there,
    I'm struggling wit mapping an existing database using Toplink Essentials.
    Specifically: I have an INT SQL field which I want to map as boolean/Boolean in my entity class.
    How to do this? Either in standard JPA or with some Toplink extensions?
    Markus

    Hi Markus,
    The JPA spec doesn't cover conversion/transformation but you can do it with TopLink Essentials using a Converter. I have an example pasted below that uses a converter to map between a database VARCHAR value and a pre-Java 5 enum (i.e., a hand coded enum-type class that runs in Java 1.4).
    I use a descriptor customizer to get hold of the Basic mapping (in TopLink a "DirectToFieldMapping") and then plug in a converter.
    --Shaun
    Persistence.xml:
    <property
       name="toplink.descriptor.customizer.TypeWriter"
       value="oracle.toplink.essentials.emf.examples.library.orm.TypeWriterCustomizer"/>The customizer:
    public class TypeWriterCustomizer implements DescriptorCustomizer {
          * Add customizer to translate between Enum and value.
         public void customize(ClassDescriptor descriptor) throws Exception {
              DirectToFieldMapping typeMapping = (DirectToFieldMapping) descriptor.getMappingForAttributeName("type");
              Converter typeWriterEnumConverter = TypeWriterEnumConverter.getInstance();
              typeMapping.setConverter(typeWriterEnumConverter);
    }The actual converter class:
    * TypeWriterEnumConverter is a singleton since it has no state.
    public class TypeWriterEnumConverter implements Converter {
         protected static TypeWriterEnumConverter instance = new TypeWriterEnumConverter();
         private TypeWriterEnumConverter() {}
         public static TypeWriterEnumConverter getInstance() {
              return instance;
         public Object convertDataValueToObjectValue(Object data, Session session) {
              String typeName = (String)data;
              return TWriterType.get(typeName);
         public Object convertObjectValueToDataValue(Object object, Session session) {
              TWriterType type = (TWriterType) object;
              if (type != null) {
                   return type.getName();
              } else {
                   return null;
         public void initialize(DatabaseMapping arg0, Session arg1) {}
         public boolean isMutable() {
              return false;
    }

  • TopLink 9.0.4 to 10.1.3.1 upgrade issue

    I've encountered a problem when upgrading our application from TopLink 9.0.4 to 10.1.3.1. I have a persistent class AccountPosition that contains an aggregate object instance of the class FundQuantity. FundQuantity is basically a wrapper for a java.math.BigDecimal, and it's meant to be non-mutable (just like a String, a BigDecimal, an Integer, etc.). I have a special constant FundQuantity.ZERO that contains the value BigDecimal 0. The AccountPosition default constructor initializes its enclosed FundQuantity to FundQuantity.ZERO. Our application creates a new AccountPosition with a FundQuantity of - say - 100, and makes it persistent via UnitOfWork#registerNewObject(). After the UnitOfWork commits,
    FundQuantity.ZERO contains the value 100 - i.e., the constant is corrupted.
    Here's what seems to cause the problem. When the application calls UnitOfWork#registerNewObject(), TopLink creates a hidden AccountPosition object by calling AccountPosition's default constructor. This hidden object has the FundQuantity set to FundQuantity.ZERO. At commit time, TopLink tries to merge changes from the application's AccountPosition object into its hidden object. Rather than creating a new FundQuantity object (as it's the case when reading an AccountPosition from the DB), the merge operation overwrites the BigDecimal that's stored inside the FundQuantity. The stack traces shows a call to TopLink's AggregateMapping#mergeChangesIntoObject(). The source code for AggregateMapping - part to toplink-src.zip - has the following comment:
    //Bug#4719341 Always obtain aggregate attribute value from the target object regardless of new or not
    A few lines below, TopLink builds a new instances of the aggregate only if the target aggregate reference is set to null or its class doesn't match that of the source aggregate. If AggregateMapping#mergeChangesIntoObject() always built a new FundQuantity, our application would probably work fine. Since this problem does not occur in TopLink 9.0.4, I'm wondering if it's related to bug 4719341. Does anybody have any ideas?

    Chris,
    Thanks for your feedback.
    >
    The problem you are encountering is that aggregates
    in TopLink are not considered immutable and are not
    meant to be shared. They are treated as objects
    completely dependent on the owning object, such that
    they cannot be shared. If the FundQuantity classWhen I'm reading an AccountPosition from the DB, TopLink does create a new FundQuantity aggregate - even though the default AccountPosition already contains a FundQuantity set to FundQuantity.ZERO. In other words, when performing a read, TopLink treats the FundQuantity as a mutable. It's only when merging the aggreagate that, in TopLink 10.1.3, TopLink treats the aggregate as an non-mutable. Do you agree?
    only persists the BigDecimal, you may wish to use a
    transformation mapping to convert it to/from a
    BigDecimal in the database instead.
    That would work for FundQuantity. However, we have another aggregate class that contains both a BigDecimal and a String. For that class, we need to use an aggregate mapping.
    Would it be possible to add a new option setIsMutable(boolean) to the aggregate class descriptor - not the AggregateDescriptor object, the Descriptor on which we call descriptor.descriptorIsAggregate(). Based on the option's value, TopLink could decide what to do - whether to create a new aggregate or to modify it. If the aggregate is mutable, TopLink could avoid creating a new instance both on read and on merge - unless it's null. If it's non-mutable, TopLink would always create a new instance.

  • JDev 11g on WebLogic+TopLink+Web Services (getSharedSession() Disconnects)

    I am facing an issue while using {color:#0000ff}TopLink{color} through a {color:#0000ff}web service{color} request.
    I apologize for a lengthy posting but thought I should give as much information as possible.
    <strong><u>Migration from TP4 to JDev 11g Production
    </u></strong>I am in a process of {color:#0000ff}migration{color} of an application from {color:#0000ff}JDeveloper 11g TP4 to JDeveloper 11g Production{color}.
    I am facing an issue using {color:#0000ff}TopLink{color} with {color:#0000ff}Web Services{color} on {color:#0000ff}Oracle WebLogic 10g Release 3.
    {color}
    <strong><u>Existing Application</u></strong>
    This application uses {color:#0000ff}TopLink{color} and also has{color:#0000ff} JAX-WS{color} based web services.
    The web services client calls the service endpoint that internally uses {color:#0000ff}TopLink{color} to make database calls.
    We currently use {color:#0000ff}Tomcat{color} for deployment and the application works fine.
    <strong><u>Issue while moving to Oracle WebLogic 10g R3
    </u></strong>While porting this application to WebLogic we faced an issue wherein a call to the {color:#0000ff}web service{color} results in {color:#0000ff}disconnection{color} of existing {color:#0000ff}TopLink{color} {color:#000080}server session{color} and creation of new ones.
    Some surfing on the net indicated that this could be due to the different class loaders that are used to access the TopLink server session.
    You must login to the ServerSession before acquiring ClientSessions
    <strong><u>LOG</u></strong>
    Here is a log from our application
    TopLink server sessions when accessed in several JSP pages.
    getDelegateSession: session = 6666709
    getDelegateSession: sessionName = my_session (this is the name of the server session)
    getDelegateSession: sessionClassLoader =weblogic.utils.classloaders.ChangeAwareClassLoader@feaad1 finder: weblogic.utils.classloaders.CodeGenClassFinder@15712d annotation: &lt;JDevApp&gt;@&lt;Appname&gt;
    getDelegateSession: threadClassLoader =weblogic.utils.classloaders.ChangeAwareClassLoader@feaad1 finder: weblogic.utils.classloaders.CodeGenClassFinder@15712d annotation: &lt;JDevApp&gt;@&lt;Appname&gt;
    <p>
    TopLink server session when accessed through a web service.
    getDelegateSession: session = 1013641
    getDelegateSession: sessionName = my_session
    getDelegateSession: sessionClassLoader =weblogic.wsee.util.JAXWSClassLoaderFactory$1@180a6b3 finder: weblogic.utils.classloaders.CodeGenClassFinder@1e2a021 annotation:
    getDelegateSession: threadClassLoader =weblogic.wsee.util.JAXWSClassLoaderFactory$1@180a6b3 finder: weblogic.utils.classloaders.CodeGenClassFinder@1e2a021 annotation:
    <strong><u>Note that the class loader is different.</u></strong>
    Also the following log is displayed just before it could log the above information.
    <strong><u>DETAILED LOG
    </u></strong>009-03-04 16:55:12,883 DEBUG ACTIVE ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)' http://oracle.toplink.logging.DefaultSessionLog - &lt;TopLink Finest: 2009.03.04 16:55:12.883--ServerSession(6666709)--Thread(Thread[)--sequencing disconnected&gt;<br />
    2009-03-04 16:55:12,883 DEBUG ACTIVE ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)' http://oracle.toplink.logging.DefaultSessionLog - &lt;TopLink Config: 2009.03.04 16:55:12.883--ServerSession(6666709)--Connection(23588442)--Thread(Thread[)--disconnect&gt;<br />
    2009-03-04 16:55:12,883 DEBUG ACTIVE ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)' http://oracle.toplink.logging.DefaultSessionLog - &lt;TopLink Finer: 2009.03.04 16:55:12.883--ServerSession(6666709)--Thread(Thread[)--initialize identitymaps&gt;<br />
    2009-03-04 16:55:12,992 INFO ACTIVE ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)' http://oracle.toplink.logging.DefaultSessionLog - &lt;TopLink Info: 2009.03.04 16:55:12.992--ServerSession(6666709)--Thread(Thread[)--my_session logout successful&gt;<br />
    Thanks for reading this lengthy posting.
    - Abhay
    </p>
    Edited by: user608979 on Mar 4, 2009 5:10 AM

    James,
    My issue is resolved. Thanks for your tip.
    I am using {color:#0000ff}SessionManager.getSession(...{color}
    Solution:*
    I changed the class loader while getting a session.
    I had to extend the {color:#0000ff}SessionFactory{color} and override {color:#0000ff}both{color} the {color:#0000ff}getSharedSession(){color} methods while replacing {color:#ff0000}getClass().getClassLoader(){color} with {color:#0000ff}&lt;MyLocatorSingletonBean&gt;.getInstance().getClass().getClassLoader().{color}
    Regrding Server Sessions*
    While posting the question I had started thinking in the same direction of having sever sessions as singleton/Spring bean but sine this will change a lot of things in my current framework so decided I just use the above solution for now.
    Really appreciated!
    - Abhay

Maybe you are looking for

  • HP OfficeJet 8500 A909g Wireless

    Do not buy this printer.  It has wireless and Hardwire network connection problems.  You have been warned. I installed the software on 5 computers.  Everything worked fine for about a day.  Then they all lost connections in the Device manager.  I hav

  • How to include Distribution list in Bex Broadcaster

    Hi experts, Can anyone tell me how to include distribution list in bex broadcaster? We have created a distribution list which we use in SBWP tcode for sending reports through mail. I want to try broadcasting reports through Bex query designer and sch

  • IPod not syncing music

    I have an iPod 5 with the latest update. And in addition to the other problems I have met with this new iOS7, the biggest is not syncing music. At first it just didn't sync new music. I would unplug it and start over and resync many times but to no a

  • Nokia 6630 Problem !

    I Have This Problem ... My Phone ( Nokia 6630 ) Switches Itself Off and On All The Time . Just Don't Know What To Do ! Any Help ?Message Edited by himus on 13-Mar-2007 11:54 PM

  • Problem typing messages

    I seem to have a problem typing my messages in IM in ipad mini, the problem is, once the keyboard pop up, the space where the letters appears is behind the keyboard. It used to come on top of the keyboard but now it stays behind it and i can't check