ClassNotFound Exception integrating Coherence and Eclipselink with composite key entity objects

I am hooking up coherence as an L2 cache for eclipselink in weblogic 12c (using the latest released weblogic and eclipselink 2.4.2.v20130514-5956486).  I have my application war and coherence gar packaged in the same EAR file.  For Entity Objects with single primary keys (Longs) coherence integration works as expected.  However I have several multi-part key Entity Objects that use an IdClass to represent the key.  When these objects get serialized, coherence throws a class not found exception.  I'm assuming its because the cachekey used is an instance of my applications IdClass, and the weblogic classloader doesn't have access to this.  Since eclipselink hides the cache integration with coherence, I cannot pass my classloader off to coherence (as i do with other caches i'm using directly with coherence).
How can I get around this problem? 
I saw this option in ExternalizableHelper.xml, but modifying it directly had no effect:
  <!-- if deploying Coherence in CLASSPATH and deploying application
       classes within a hot-redeployable archive (e.g. ".ear"), set this to
       true -->
  <!-- *** WARNING *** all cluster nodes must use the same setting -->
  <force-classloader-resolving>false</force-classloader-resolving>
Here is the stack trace:
ClassLoader: null) java.io.IOException: readObject failed: java.lang.ClassNotFoundException: com.oracle.pgbu.common.data.OverlayIdClass
  at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
  at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
  at java.security.AccessController.doPrivileged(Native Method)
  at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
  at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
  at java.lang.Class.forName0(Native Method)
  at java.lang.Class.forName(Class.java:270)
  at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:623)
  at weblogic.coherence.service.internal.io.WLSObjectInputStream.resolveClass(WLSObjectInputStream.java:45)
  at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1610)
  at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1515)
  at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
  at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1348)
  at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1704)
  at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1342)
  at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
  at com.tangosol.util.ExternalizableHelper.readSerializable(ExternalizableHelper.java:2262)
  at com.tangosol.util.ExternalizableHelper.readObjectInternal(ExternalizableHelper.java:2393)
  at com.tangosol.util.ExternalizableHelper.readObject(ExternalizableHelper.java:2336)
  at com.tangosol.util.ExternalizableHelper.readObject(ExternalizableHelper.java:2315)
  at oracle.eclipselink.coherence.integrated.internal.cache.RelationshipUpdateProcessor.readExternal(RelationshipUpdateProcessor.java:82)
  at com.tangosol.util.ExternalizableHelper.readExternalizableLite(ExternalizableHelper.java:2086)
  at com.tangosol.util.ExternalizableHelper.readObjectInternal(ExternalizableHelper.java:2390)
  at com.tangosol.util.ExternalizableHelper.readObject(ExternalizableHelper.java:2336)
  at oracle.eclipselink.coherence.integrated.cache.WrapperSerializer.deserialize(WrapperSerializer.java:79)
  at com.tangosol.util.ExternalizableHelper.deserializeInternal(ExternalizableHelper.java:2791)
  at com.tangosol.util.ExternalizableHelper.fromBinary(ExternalizableHelper.java:266)
ClassLoader: null
  at com.tangosol.util.Base.ensureRuntimeException(Base.java:286)
  at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.tagException(Grid.CDB:50)
  at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache.onInvokeRequest(PartitionedCache.CDB:61)
  at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache$InvokeRequest.run(PartitionedCache.CDB:1)
  at com.tangosol.coherence.component.util.DaemonPool.add(DaemonPool.CDB:20)
  at com.tangosol.coherence.component.util.DaemonPool.add(DaemonPool.CDB:1)
  at com.tangosol.coherence.component.net.message.requestMessage.DistributedCacheKeyRequest.onReceived(DistributedCacheKeyRequest.CDB:2)
  at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.onMessage(Grid.CDB:38)
  at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.onNotify(Grid.CDB:23)
  at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.PartitionedService.onNotify(PartitionedService.CDB:3)
  at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache.onNotify(PartitionedCache.CDB:3)
  at com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:51)
  at java.lang.Thread.run(Thread.java:724)
Caused by: java.io.IOException: readObject failed: java.lang.ClassNotFoundException: com.oracle.pgbu.common.data.OverlayIdClass
  at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
  at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
  at java.security.AccessController.doPrivileged(Native Method)
  at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
  at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
  at java.lang.Class.forName0(Native Method)
  at java.lang.Class.forName(Class.java:270)
  at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:623)
  at weblogic.coherence.service.internal.io.WLSObjectInputStream.resolveClass(WLSObjectInputStream.java:45)
  at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1610)
  at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1515)
  at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
  at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1348)
  at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1704)
  at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1342)
  at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
  at com.tangosol.util.ExternalizableHelper.readSerializable(ExternalizableHelper.java:2262)
  at com.tangosol.util.ExternalizableHelper.readObjectInternal(ExternalizableHelper.java:2393)
  at com.tangosol.util.ExternalizableHelper.readObject(ExternalizableHelper.java:2336)
  at com.tangosol.util.ExternalizableHelper.readObject(ExternalizableHelper.java:2315)
  at oracle.eclipselink.coherence.integrated.internal.cache.RelationshipUpdateProcessor.readExternal(RelationshipUpdateProcessor.java:82)
  at com.tangosol.util.ExternalizableHelper.readExternalizableLite(ExternalizableHelper.java:2086)
  at com.tangosol.util.ExternalizableHelper.readObjectInternal(ExternalizableHelper.java:2390)
  at com.tangosol.util.ExternalizableHelper.readObject(ExternalizableHelper.java:2336)
  at oracle.eclipselink.coherence.integrated.cache.WrapperSerializer.deserialize(WrapperSerializer.java:79)
  at com.tangosol.util.ExternalizableHelper.deserializeInternal(ExternalizableHelper.java:2791)
  at com.tangosol.util.ExternalizableHelper.fromBinary(ExternalizableHelper.java:266)
ClassLoader: null
  at com.tangosol.util.ExternalizableHelper.readSerializable(ExternalizableHelper.java:2270)
  at com.tangosol.util.ExternalizableHelper.readObjectInternal(ExternalizableHelper.java:2393)
  at com.tangosol.util.ExternalizableHelper.readObject(ExternalizableHelper.java:2336)
  at com.tangosol.util.ExternalizableHelper.readObject(ExternalizableHelper.java:2315)
  at oracle.eclipselink.coherence.integrated.internal.cache.RelationshipUpdateProcessor.readExternal(RelationshipUpdateProcessor.java:82)
  at com.tangosol.util.ExternalizableHelper.readExternalizableLite(ExternalizableHelper.java:2086)
  at com.tangosol.util.ExternalizableHelper.readObjectInternal(ExternalizableHelper.java:2390)
  at com.tangosol.util.ExternalizableHelper.readObject(ExternalizableHelper.java:2336)
  at oracle.eclipselink.coherence.integrated.cache.WrapperSerializer.deserialize(WrapperSerializer.java:79)
  at com.tangosol.util.ExternalizableHelper.deserializeInternal(ExternalizableHelper.java:2791)
  at com.tangosol.util.ExternalizableHelper.fromBinary(ExternalizableHelper.java:266)
  at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache$InvokeRequest.deserializeProcessor(PartitionedCache.CDB:7)
  at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache.onInvokeRequest(PartitionedCache.CDB:37)
  ... 10 more

I am hooking up coherence as an L2 cache for eclipselink in weblogic 12c (using the latest released weblogic and eclipselink 2.4.2.v20130514-5956486).  I have my application war and coherence gar packaged in the same EAR file.  For Entity Objects with single primary keys (Longs) coherence integration works as expected.  However I have several multi-part key Entity Objects that use an IdClass to represent the key.  When these objects get serialized, coherence throws a class not found exception.  I'm assuming its because the cachekey used is an instance of my applications IdClass, and the weblogic classloader doesn't have access to this.  Since eclipselink hides the cache integration with coherence, I cannot pass my classloader off to coherence (as i do with other caches i'm using directly with coherence).
How can I get around this problem? 
I saw this option in ExternalizableHelper.xml, but modifying it directly had no effect:
  <!-- if deploying Coherence in CLASSPATH and deploying application
       classes within a hot-redeployable archive (e.g. ".ear"), set this to
       true -->
  <!-- *** WARNING *** all cluster nodes must use the same setting -->
  <force-classloader-resolving>false</force-classloader-resolving>
Here is the stack trace:
ClassLoader: null) java.io.IOException: readObject failed: java.lang.ClassNotFoundException: com.oracle.pgbu.common.data.OverlayIdClass
  at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
  at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
  at java.security.AccessController.doPrivileged(Native Method)
  at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
  at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
  at java.lang.Class.forName0(Native Method)
  at java.lang.Class.forName(Class.java:270)
  at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:623)
  at weblogic.coherence.service.internal.io.WLSObjectInputStream.resolveClass(WLSObjectInputStream.java:45)
  at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1610)
  at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1515)
  at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
  at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1348)
  at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1704)
  at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1342)
  at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
  at com.tangosol.util.ExternalizableHelper.readSerializable(ExternalizableHelper.java:2262)
  at com.tangosol.util.ExternalizableHelper.readObjectInternal(ExternalizableHelper.java:2393)
  at com.tangosol.util.ExternalizableHelper.readObject(ExternalizableHelper.java:2336)
  at com.tangosol.util.ExternalizableHelper.readObject(ExternalizableHelper.java:2315)
  at oracle.eclipselink.coherence.integrated.internal.cache.RelationshipUpdateProcessor.readExternal(RelationshipUpdateProcessor.java:82)
  at com.tangosol.util.ExternalizableHelper.readExternalizableLite(ExternalizableHelper.java:2086)
  at com.tangosol.util.ExternalizableHelper.readObjectInternal(ExternalizableHelper.java:2390)
  at com.tangosol.util.ExternalizableHelper.readObject(ExternalizableHelper.java:2336)
  at oracle.eclipselink.coherence.integrated.cache.WrapperSerializer.deserialize(WrapperSerializer.java:79)
  at com.tangosol.util.ExternalizableHelper.deserializeInternal(ExternalizableHelper.java:2791)
  at com.tangosol.util.ExternalizableHelper.fromBinary(ExternalizableHelper.java:266)
ClassLoader: null
  at com.tangosol.util.Base.ensureRuntimeException(Base.java:286)
  at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.tagException(Grid.CDB:50)
  at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache.onInvokeRequest(PartitionedCache.CDB:61)
  at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache$InvokeRequest.run(PartitionedCache.CDB:1)
  at com.tangosol.coherence.component.util.DaemonPool.add(DaemonPool.CDB:20)
  at com.tangosol.coherence.component.util.DaemonPool.add(DaemonPool.CDB:1)
  at com.tangosol.coherence.component.net.message.requestMessage.DistributedCacheKeyRequest.onReceived(DistributedCacheKeyRequest.CDB:2)
  at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.onMessage(Grid.CDB:38)
  at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.onNotify(Grid.CDB:23)
  at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.PartitionedService.onNotify(PartitionedService.CDB:3)
  at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache.onNotify(PartitionedCache.CDB:3)
  at com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:51)
  at java.lang.Thread.run(Thread.java:724)
Caused by: java.io.IOException: readObject failed: java.lang.ClassNotFoundException: com.oracle.pgbu.common.data.OverlayIdClass
  at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
  at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
  at java.security.AccessController.doPrivileged(Native Method)
  at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
  at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
  at java.lang.Class.forName0(Native Method)
  at java.lang.Class.forName(Class.java:270)
  at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:623)
  at weblogic.coherence.service.internal.io.WLSObjectInputStream.resolveClass(WLSObjectInputStream.java:45)
  at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1610)
  at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1515)
  at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1769)
  at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1348)
  at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1704)
  at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1342)
  at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
  at com.tangosol.util.ExternalizableHelper.readSerializable(ExternalizableHelper.java:2262)
  at com.tangosol.util.ExternalizableHelper.readObjectInternal(ExternalizableHelper.java:2393)
  at com.tangosol.util.ExternalizableHelper.readObject(ExternalizableHelper.java:2336)
  at com.tangosol.util.ExternalizableHelper.readObject(ExternalizableHelper.java:2315)
  at oracle.eclipselink.coherence.integrated.internal.cache.RelationshipUpdateProcessor.readExternal(RelationshipUpdateProcessor.java:82)
  at com.tangosol.util.ExternalizableHelper.readExternalizableLite(ExternalizableHelper.java:2086)
  at com.tangosol.util.ExternalizableHelper.readObjectInternal(ExternalizableHelper.java:2390)
  at com.tangosol.util.ExternalizableHelper.readObject(ExternalizableHelper.java:2336)
  at oracle.eclipselink.coherence.integrated.cache.WrapperSerializer.deserialize(WrapperSerializer.java:79)
  at com.tangosol.util.ExternalizableHelper.deserializeInternal(ExternalizableHelper.java:2791)
  at com.tangosol.util.ExternalizableHelper.fromBinary(ExternalizableHelper.java:266)
ClassLoader: null
  at com.tangosol.util.ExternalizableHelper.readSerializable(ExternalizableHelper.java:2270)
  at com.tangosol.util.ExternalizableHelper.readObjectInternal(ExternalizableHelper.java:2393)
  at com.tangosol.util.ExternalizableHelper.readObject(ExternalizableHelper.java:2336)
  at com.tangosol.util.ExternalizableHelper.readObject(ExternalizableHelper.java:2315)
  at oracle.eclipselink.coherence.integrated.internal.cache.RelationshipUpdateProcessor.readExternal(RelationshipUpdateProcessor.java:82)
  at com.tangosol.util.ExternalizableHelper.readExternalizableLite(ExternalizableHelper.java:2086)
  at com.tangosol.util.ExternalizableHelper.readObjectInternal(ExternalizableHelper.java:2390)
  at com.tangosol.util.ExternalizableHelper.readObject(ExternalizableHelper.java:2336)
  at oracle.eclipselink.coherence.integrated.cache.WrapperSerializer.deserialize(WrapperSerializer.java:79)
  at com.tangosol.util.ExternalizableHelper.deserializeInternal(ExternalizableHelper.java:2791)
  at com.tangosol.util.ExternalizableHelper.fromBinary(ExternalizableHelper.java:266)
  at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache$InvokeRequest.deserializeProcessor(PartitionedCache.CDB:7)
  at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache.onInvokeRequest(PartitionedCache.CDB:37)
  ... 10 more

Similar Messages

  • Synchronize with Database on Entity Object re-creates Association

    hi
    Please consider this example application created using JDeveloper 11.1.1.4.0
    at http://www.consideringred.com/files/oracle/2011/MovedAssociationApp-v0.01.zip
    It has an EmpManagerFkAssoc Association which has been moved from the "movedassociationapp.model.entities" package to the "movedassociationapp.model.assoc" package (using the "Refactor - Move..." context-menu option).
    When selecting "Synchronize with Database..." in the context-menu of the Employees Entity Object, and clicking the "Synchronize All" button, this results in JDeveloper re-creating the EmpManagerFkAssoc Association,
    as shown in the screencast at http://screencast.com/t/l7jaoU2C
    - (q1) Is this Association re-creation intended behaviour (if so, please explain, if not, which bug number)?
    many thanks
    Jan Vervecken

    Ferez,
    have you seen this thread in the ADF forum, Cannot 'Synchronize with database' my entity objects ?
    It mentions the existence of a bug that may cause this (though no reference number), and one user posted a workaround they were using.

  • CQL Join on Coherence Cache with Composite Key

    I have a Coherence Cache with a composite key and I want to join a channel to records in that cache with a CQL processor. When I deploy the package containing the processor, I get the following error:
    +italics14:32:35,938 | alter query SimpleQuery start                                                                        | [ACTIVE] ExecuteThread: '7' for queue: 'weblogic.kernel.Default (self-tuning)' | CQLServer | FATAL+
    +14:32:35,938 | alter query >>SimpleQuery<< start+
    +specified predicate requires full scan of external source which is not supported. please modify the join predicate | [ACTIVE] ExecuteThread: '7' for queue: 'weblogic.kernel.Default (self-tuning)' | CQLServer | FATAL+
    I think that I'm using the entire key. If I change the key to a single field, it deploys OK. I found a similar issue when I defined a Java class to represent the composite key. Is it possible to join in this way on a composite key cache?
    I could define another field which is a concatenation of the fields in the composite key but this is a little messy.
    My config is as below:
    <wlevs:caching-system id="MyCache" provider="coherence" />
    <wlevs:event-type-repository>
    <wlevs:event-type type-name="SimpleEvent">
              <wlevs:properties>
                   <wlevs:property name="field1" type="char" />
                   <wlevs:property name="field2" type="char" />
              </wlevs:properties>
    </wlevs:event-type>
    </wlevs:event-type-repository>
         <wlevs:channel id="InChannel" event-type="SimpleEvent" >
              <wlevs:listener ref="SimpleProcessor" />
         </wlevs:channel>
         <wlevs:processor id="SimpleProcessor">
              <wlevs:listener ref="OutChannel" />
              <wlevs:cache-source ref="SimpleCache" />
         </wlevs:processor>
         <wlevs:channel id="OutChannel" event-type="SimpleEvent" >
         </wlevs:channel>
         <wlevs:cache id="SimpleCache" value-type="SimpleEvent"
              key-properties="field1,field2"
              caching-system="MyCache" >
         </wlevs:cache>
    and the processor CQL is as follows:
    <processor>
    <name>SimpleProcessor</name>
    <rules>
    <query id="SimpleQuery">
    <![CDATA[ 
                select I.field1, I.field2 from InChannel [now] as I,
    SimpleCache as S where
    I.field1 = S.field1 and
    I.field2 = S.field2
    ]]> </query>
    </rules>
    </processor>
    Thanks
    Mike

    Unfortunately, joining on composite keys in Coherence is not supported in the released versions. This will be supported in 12g release.
    As you mention, defining another field as key, which is the concatenation of the original keys is the workaround.

  • WLPI: integrating organizations and roles with existing application

    Hi,
    how do I integrate WLPI's organizations and roles with an existing application's
    data structure? It looks like WLPI expects organizations and roles to be groups
    with a particular naming convention (i.e. an org is defined by a group 'WLPIOrg@MyOrg'
    and a null member). If I am integrating with an application that stores organizations
    and roles in (for example) separate database tables, how do I get WLPI to recognize
    these? Or do I have to maintain the organizations and roles in 2 places, one for
    the application and one for WLPI in the format described above?
    THanks,
    Martin

    Hi Martin,
    We're in the middle of a prototyping exercise of getting WLS, JMS,
    WLP, WLPI integrated accross one security realm. What its looking like
    is this (bear in mind I think this hasn't been tried before judging by
    newsgroups + BEA Docs)
    1)WLP has a bug that you cannot get user details from LDAP(exception
    is thrown)
    2)WLPI does need a certain structure -
    http://e-docs.bea.com/wlpi/wlpi121/install/cfigrun.htm#1246656
    and
    http://developer.bea.com/ftp_bin/Using_LDAP_with_WLPI.zip
    A) To solve your problem maybe you could write a custom realm to
    translate the roles + orgs back (no writing from WLPI ie read only )
    to WLPI.
    B) Maybe you caould have a META-DIRECTORY set up that synchronises the
    RDBMSRealm with something else maybe LDAP or another RDBMSRealm
    We are also looking into a unified security solution by Netegrity
    called siteminder. They are about to release a version for WLS 6 but
    they seem to be laggin behind. This provides a single signon over and
    enterprise system.
    This is a bit vague Martin, I will hopefully have more concrete info
    in a week or 2. If you have any other info you can mail me on -
    [email protected]
    BTW this wouldn't be Martin Van Vilet from the Netherlands that worked
    on the Intelligent Finance Product?
    "Martin van Vliet" <[email protected]> wrote in message news:<3b17ece8$[email protected]>...
    Hi,
    how do I integrate WLPI's organizations and roles with an existing application's
    data structure? It looks like WLPI expects organizations and roles to be groups
    with a particular naming convention (i.e. an org is defined by a group 'WLPIOrg@MyOrg'
    and a null member). If I am integrating with an application that stores organizations
    and roles in (for example) separate database tables, how do I get WLPI to recognize
    these? Or do I have to maintain the organizations and roles in 2 places, one for
    the application and one for WLPI in the format described above?
    THanks,
    Martin

  • Master-Detail query problem with composite key

    I have tested a MD form with EMP and DEPT tables and the MD query works okay.
    I have created two tables both with two fields EMP_ID and REPORT_DATE as a composite key. The problem I am having with the MD form is that it does not query back the results when I select the QUERY button. I have verified that the join is setup during the creation of the form.

    I have recreated the form and the MD query works fine.

  • Write Behind HibernateCacheStore with Composite id entity

    I am creating a cache map whose key is the primary key of a table, and it is composite. Coherence is not letting me store these composite objects using HibernateCacheStore, and throws the following error.
    Conflicting identifier information between entity IntradayMarketData@1784427 and id IntradayMarketDataPK@ad455e8d
    Coherence document says the following.
    Hibernate entities accessed via the HibernateCacheStore module must use the "assigned" ID generator and also have a defined ID property.
    When I remove the composite key, and keep a single column as pk, it works fine.
    Any help regarding this would be appreciated.
    Thanks in advance
    Booshan

    Hi Booshan,
    I believe, you mix things up a bit.
    It is required by Coherence that the cache key must be the primary key as Hibernate uses it, so that when Coherence tries to resolve a cache miss (you request the value for a key which is not already in the cache, it will request that object from Hibernate by the cache key used where Hibernate expects the primary key. From what you write, this requirement is satisfied.
    The HibernateCacheStore requires that an assigned ID generator should be used only means that you must assign the new primary key value to an object yourself, you cannot rely on Hibernate to do so. This is required so that you are able to satisfy the previous requirement, and the primary key fields must be set within the cached value to the same value represented by the primary key object.
    So all you need is to set the primary key attributes in the entity to the same value as contained in the composite primary key object as used by Hibernate. Also this class must implement java.io.Serializable, but that is required by Hibernate, too.
    Also, for being able to use the key class as a key in a hash-based collection, the key class must properly override hashCode() and equals(). Please look at the requirements for this in the Javadoc of java.lang.Object.
    For performance reasons it is recommended for the key class to also implement com.tangosol.io.ExternalizableLite.
    E.g. in your case, using what I can from your example, your key class would look something like:
    import java.io.DataInput;
    import java.io.DataOutput;
    import java.io.IOException;
    import com.tangosol.io.ExternalizableLite;
    import com.tangosol.util.ExternalizableHelper;
    public class IntradayMarketDataPK implements ExternalizableLite
        private String left;
        private long right;
         * Parameterless constructor required by implementing ExternalizableLite
        public IntradayMarketDataPK() {
        public String getLeft()
            return left;
        public void setLeft(String left)
            this.left = left;
        public long getRight()
            return right;
        public void setRight(long right)
            this.right = right;
        @Override
        public void readExternal(DataInput input) throws IOException
            left = ExternalizableHelper.readSafeUTF(input);
            right = ExternalizableHelper.readLong(input);
        @Override
        public void writeExternal(DataOutput output) throws IOException
            ExternalizableHelper.writeSafeUTF(output, left);
            ExternalizableHelper.writeLong(output, right);
        @Override
        public boolean equals(Object obj)
            if (obj == this) {
                return true;
            if (obj == null) {
                return false;
            if (obj.getClass() == this.getClass()) {
                IntradayMarketDataPK other = (IntradayMarketDataPK)obj;
                if (other.right != right) {
                    return false;
                if (left == null) {
                    return other.left == null;
                } else {
                    return left.equals(other.left);
            return false;
        @Override
        public int hashCode()
            int hash = (int)(right ^ (right >>> 32));
            if (left != null) {
                hash ^= left.hashCode();
            return hash;
    }Your entity mapping should contain something like the following:
    <class name="IntradayMarketData" table="INTRADAY_MARKET_DATA">
      <composite-id name="pk" class="IntradayMarketDataPK">
        <key-property name="left" column="LEFT" />
        <key-property name="right" column="RIGHT" />
      </composite-id>
    </class>Your entity class should be something like:
    import java.io.DataInput;
    import java.io.DataOutput;
    import java.io.IOException;
    import java.io.Serializable;
    import com.tangosol.io.ExternalizableLite;
    import com.tangosol.util.ExternalizableHelper;
    public class IntradayMarketData implements ExternalizableLite
        private IntradayMarketDataPK pk;
         * Public parameterless constructor required by implementing ExternalizableLite
        public IntradayMarketData() {
        public IntradayMarketDataPK getPk()
            return pk;
        public void setPk(IntradayMarketDataPK pk)
            this.pk = pk;
        @Override
        public void readExternal(DataInput input) throws IOException
            IntradayMarketDataPK pk = new IntradayMarketDataPK();
            pk.readExternal(input);
            this.pk = pk;
        @Override
        public void writeExternal(DataOutput output) throws IOException
            pk.writeExternal(output);
    }You should always ensure that if you put an IntradayMarketData object to the cache, then the pk attribute on it must already be set to the object used as a cache key.
    Best regards,
    Robert

  • Connect By with composite Key

    Hello
    I have a table more or less like this
    ID - CONTINENT- COUNTRY-CITY
    1 ASIA
    2 ASIA CHINA
    3 ASIA CHINA BEIJING
    4 ASIA CHINA XANGAI
    5 ASIA JAPAN
    6 ASIA JAPAN TOKIO
    7 EUROPE
    8 EUROPE GERMANY
    Altough I have a sequencial primary key, that key os not used to relate to the "master record". The only way I have to know which record depends on which is by using a composite key (in the real table those three columns are numbers, and their combination is unique).
    Is there a way to use an hierarquical query on this table?
    Thanks for any help

    Nuno wrote:
    example:
    CREATE TABLE PLACES
    (ID, CONTINENT,COUNTRY,CITY,NAME)Does that command work when you run it? I get 'ORA-02263: need to specifuy the datatype for this column".
    INSERT INTO PLACES (1,1,NULL,NULL,'ASIA')
    INSERT INTO PLACES (2,1,1,NULL,'CHINA')
    INSERT INTO PLACES (3,1,1,1,'BEIJING')
    INSERT INTO PLACES (4,1,1,2,'XANGAI)
    INSERT INTO PLACES (5,1,2,NULL,'JAPAN')
    INSERT INTO PLACES (6,1,2,1,'TOKIO')
    INSERT INTO PLACES (7,2,NULL,NULL,'EUROPE')
    INSERT INTO PLACES (8,2,1,NULL,'GERMANY')Do those statements work for you? I get "ORA-00928: missing SELECT keyword".
    Oracle 10g is the version used...
    what I want is a list like this:
    ASIA
    CHINA
    BEIJING
    XANGAI
    JAPAN
    TOKIO
    EUROPE
    GERMANY
    The way I used was to create a "dummy" ID and Mother ID using both case and concatenating CONTINENT,COUNTRY,CITY fields.
    Don't know if there is other cleaner way...
    CONTINENT || COUNTRY || CITYdummy_id,
              CASE
              WHEN COUNTRY IS NULL AND CITY IS NULL
              THEN NULL
              WHEN COUNTRY IS NOT NULL AND CITY IS NULL
              THEN CNUT1
              WHEN COUNTRY IS NOT NULL AND CITY IS NOT NULL
              THEN      CONTINENT || COUNTRY      
              END DUMMY_MOMUsing COALESCE, like Odie did, is a lot simpler.
    Instead of generating a "dummy" parent_id, you may want to add a real parent_id column to the table. Then it sould be easier to do CONNECT BY queries when you needed to.
    However, you can get the output you requested without anything hierarchical:
    {code}
    SELECT     name
    FROM places
    {code}
    If the output somehow had to reflect the hierarchical structure then you'd have to do somehting different.
    For example, to be sure children were displayed after their parents), add an ORDER BY clause:
    {code}
    SELECT     name
    FROM places
    ORDER BY continent
    ,      country     NULLS FIRST
    ,     city          NULLS FIRST
    {code}
    If your output need to be indented, post exactly what you want, with an explanation.
    When posting any fomatted text on this site, type these 6 characters:
    \{code}
    (small letters only, inside curly brackets) before and after sections of formatted text, to preserve spacing.
    Perhaps you want something like this:
    {code}
    SELECT     NVL2 (country, ' ', NULL)     ||
         NVL2 (city,     ' ', NULL)     ||
         name                         AS indented_name
    FROM places
    ORDER BY continent
    ,      country     NULLS FIRST
    ,     city          NULLS FIRST
    {code}
    You can always do a CONNECT BY query, as Odie demonstrated.

  • Crystal Report and InfoObject with Compound Key

    Hi,
    I have Characteristic with Compound Key in SAP BW 7.0. This Characteristic use to store the Purchase Order Item Line. The Compound Key is the Purchase Order Document.
    So I will have the following fields created for this Characteristic:
    Compound Key (Purchase Order Document) 5600001982, Purchase Order Item Line 10
    I created a Query for this Characteristic and I have the following as result:
    10 ...
    20 ...
    30 ...
    All works fine.
    Now I created the Crystal Report from this Query. When I display this Characteristic in Crystal Report, I have the following:
    5600001982/10
    5600001982/20
    5600001982/30
    Is this a bug or Crystal not support the Compound Key?
    Please advise, thank you.

    a

  • Macbook Pro keyboard typing in random letters and symbols with certain keys

    My mother is not a very tech savvy person. We recently upgraded her Windows PC to a Macbook Pro. A few days ago she went to some website about working from home. I'm pretty sure it was a scam website. Anyway after that the keyboard started acting weird.
    Certain keys will either not work or just type random keystrokes. The keys that I know of are
    7= 123477
    U= IOTUYw
    J= adfgjs
    M= Will sometimes minimize the active window and other times will type out random symbols (æ∆¬)
    :; key= 0 - Esc, and changes the volume
    ' key= Tab, random symbols, enables caps lock
    Eject Key= § changes volume
    I had Sophos Anti Virus installed on it, and after running a full scan it didn't come up with anything. To be safe i decided to completely wipe her Macbook. I also did the 7-pass DOD Standard erase.
    After that i resinstalled Lion on her computer. After restarting the same issue persists. I tried seeing if there was an OSX update that needed to be installed, and that didnt fix anything. I also ran the Apple hardware test. It came up with no issues.
    I also checked to see if foriegn keyboards were turned on, etc.
    I have no idea what to do now. Using my bluetooth keyboard works fine. The keys type what they should. She says he hasn't spilt anything on it, but she works as a daycare provider and sometimes the little kids watch movies or youtube videos on it.
    Any help would be appreciated!

    I just spent hour trying to fix tihs on my iMac and could find the answer so I wanted to post it for someone else. Mine was typing in crazy symbols (åß∂ƒ©).
    Also I could not Command + Tab (shoot me), and when I clicked on a window in another app it hid the windows I was working in.
    I tried new keyboards. And the system preferences stuff - system preferences - language & text - input sources. then select US. This didn't fix it.
    Then I tried to change the keyboard shortcuts in the same window - spotlight (on left), unclick the show spotlight search field and the other one bellow. Then hit the com + Spacebar. This didn't fix it.
    Then i did it and double check that i did it right and still didn't fix it.
    So I called apple support and they gave me the magical key to fix this.
    Turn off your computer. Unplug for 30 sec, and everything attached. Then power it back on and hurry and hold Command + Option + P + R. I held Command + Option + P with one hand and then after I hit power I added the R.
    The computer will make one chime. Keep holding it. I will then shut down and make one more chime and you can let go.
    Taa daa!!
    I have a 27" iMac 2.93Ghz i7 with 10.8.2 (FYI).

  • Problem with using multiple Entity Objects in a view Object.

    Hi
    Thank you for reading my post
    I have create 3 Business components for 3 of my database tables and now
    I must add 3 tables in a View object so i used Jdeveloper Wizard to create the View Object.
    -I Add Entity Objects which are business components to this view (In Step 2 of the Create Vview Object wizard).
    -In step 3 that I add Attributes all my attributes are marked as Transient
    Can some one explain why it happens?
    I need one of those tables to be updateable and two other tables are not updateable.
    What should should i do to achieve this?
    I should say that tables does not have any database relation (Foreign Key I Mean).
    Thanks.

    Hi user505214
    When you created your VO, on selecting the second EO, you'll note at the bottom of the same page on the wizard/editor, checkboxes for updatable or by reference. By default reference is checked and this will make your second EO's attributes transient.
    In the JDeveloper Developer's Guide for 4GL/Forms programmers, the following sections outline the difference between updatable or by reference:
    7.5 Including Reference Entities in Join View Objects
    27.9 Creating a View Object with Multiple Updatable Entities
    Make sure to read 27.9 if updatable is what you want as it indicates you may need to add some additional code.
    Hope this helps.
    CM.

  • Cannot 'Synchronize with database' my entity objects

    Hello,
    I have successfully created entities in my model using the 'new buisness components from tables' function. But now my database moddel has changed and I would like to synchronize my entities with database to get newest colums, but when right clicking an entity, the 'Synchronize with database' link is greyed and cannot be selected.
    I have a database connection configured in my application resources and I can still import new tables in my project.
    Do you have any idea of what is happening? This is not the case for all my applications. I can still synchronize in some other ones
    Thank you for your help
    Stephane

    Synchronize with the database will be avaialble for the Entity Object
    I think there is a problem with the particular entity that got created when you did the business components out of tables..
    This is not the case for all my applications. I can still synchronize in some other onesif this is not happening with any other EO in any other application.. then you can try
    recreating the EO from the table..
    compare what is the change in between the EO that can synchronize and your current EO that cannot synchronize..
    another option might be to check the application.. if that is havign some hidden property to synchronize..
    last is to go with sameer's approach, to doubt about the table is not proper... in the same applciation create an EO with another table and try to synchronize.. you will get to actually the point where there is a problem..
    good luck.

  • Coherence and EclipseLink - JTA Transaction Manager - slow response times

    A colleague and I are updating a transactional web service to use Coherence as an underlying L2 cache. The application has the following characteristics:
    Java 1.7
    Using Spring Framework 4.0.5
    EclipseLink 12.1.2
    TopLink grid 12.1.2
    Coherence 12.1.2
    javax.persistence 12.1.2
    The application is split, with a GAR in a WebLogic environment and the actual web service application deployed into IBM WebSphere 8.5.
    When we execute a GET from the server for a decently sized piece of data, the response time is roughly 20-25 seconds. From looking into DynaTrace, it appears that we're hitting a brick wall at the "calculateChanges" method within EclipseLink. Looking further, we appear to be having issues with the transaction manager but we're not sure what. If we have a local resource transaction manager, the response time is roughly 500 milliseconds for the exact same request. When the JTA transaction manager is involved, it's 20-25 seconds.
    Is there a recommendation on how to configure the transaction manager when incorporating Coherence into a web service application of this type?

    Hi Volker/Markus,
    Thanks a lot for the response.
    Yeah Volker, you are absolutely right. the 10-12 seconds happens when we have not used the transaction for several minutes...Looks like the transactions are moved away from the SAP buffer or something, in a very short time.
    and yes, the ABAP WP's are running in Pool 2 (*BASE) and the the JAVA server, I have set up in another memory pool of 7 GB's.
    I would say the performance of the JAVA part is much better than the ABAP part.
    Should I just remove the ABAP part of the SOLMAN from memory pool 2 and assign the JAVA/ABAP a separate huge memory pool  of say like 12-13 GB's.
    Will that likely to improve my performance??
    No, I have not deactivated RSDB_TDB in TCOLL from daily twice to weekly once on all systems on this box. It is running daily twice right now.
    Should I change it to weekly once on all the systems on this box?  How is that going to help me?? The only thinng I can think of is that it will save me some CPU utilization, as considerable CPU resources are needed for this program to run.
    But my CPU utilization is anyway only like 30 % average. Its a i570 hardware and right now running 5 CPU's.
    So you still think I should deactivate this job from daily twice to weekly once on all systems on this box??
    Markus, Did you open up any messages with SAP on this issue.?
    I remember working on the 3.2 version of soultion manager on change management and the response times very much better than this as compared to 4.0.
    Let me know guys and once again..thanks a lot for your help and valuable input.
    Abhi

  • InvalidSecurity Exception in WS and SOAP with Attachment

    Hi all, <bR>
    <br>
    I created a EJB based webservice with the following signature:      <br><br>
    public String businessMethod2(byte[] arg1) {..}<br>
    <br>
    <br>
    This Method is exposed as webservice, which is configured as SOAP with Attachment. <br>
    All security or authentication settings are disabled by intention. <br>
    The input param arg1 should be a binary file.
    <br><br>
    When I call this webservice I always get the following response: <br><bR>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" <br>
    xmlns:xs="http://www.w3.org/2001/XMLSchema" <br>
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><bR>
       <SOAP-ENV:Body><bR>
          <SOAP-ENV:Fault><bR>
             <faultcode xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"><b>wsse:InvalidSecurity</b></faultcode><bR>
             <faultstring>000F1F90EDDB006C00000012000014D8000437A5EE6DAE4E : <b>WS Security can only be applied on a SOAP document.</b></faultstring><bR>
             <detail><bR>
                <ns1:com.sap.security.core.server.ws.service.WSSecurityException xmlns:ns1="http://sap-j2ee-engine/error">000F1F90EDDB006C00000012000014D8000437A5EE6DAE4E : WS Security can only be applied on a SOAP document.</ns1:com.sap.security.core.server.ws.service.WSSecurityException><bR>
             </detail><bR>
          </SOAP-ENV:Fault><bR>
       </SOAP-ENV:Body><bR>
    </SOAP-ENV:Envelope><bR>
    <br>
    <br>
    My guess is, that the WAS 7.00 SP11 is magically configured for applying WS-Security to every webservice. <br>
    <br>
    The Security Profile settings for Inbound / Outbound - Paramters is "None" in Visual Admin Webservice Security. <br>
    <br>
    How can I get rid of this Exception and make the webservice work?
    <br>
    <br>
    regards <br>
    Gabi  <br>

    http://newsgroups.bea.com/cgi-bin/dnewsweb?cmd=article&group=weblogic.developer.interest.webservices&item=4967
    grazieee wrote:
    >
    HI, i have found an example that illustrates the reception and return of SOAP attachments
    in web service method. However, the weblogic workshop I am using does not recognise
    'DataHandler'. I typed 'public String echoAttachment(DataHandler dh) and it said
    'web service does not support such data type'. Is there any resolution to it?
    And if convenient, can i have the source code of attaching images to SOAP?
    Thanks alot.
    Good Day!
    grazieee
    P/S: I'm using weblogic version 8.1

  • XP Mode starts up with "Could not enable integration features" and loads with a blank screen.

    The XP Mode virtual machine comes up with a big blue screen with no programs loaded after the "could not enable integration features" dialog box.  How to recover? 

    Hi,
    As this thread has been quiet for a while, we assume that the issue has been resolved. At this time, we will mark it as ‘Answered’ as the previous steps
    should be helpful for many similar scenarios. If the issue still persists, please feel free to reply this post directly so we will be notified to follow it up. You can also choose to unmark the answer as you wish.
    BTW, we’d love to hear your feedback about the solution. By sharing your experience you can help other community members facing similar problems. Thanks for
    your understanding and efforts.
    Alex Zhao
    TechNet
    Subscriber Support in forum.
    If you have any feedback on our support, please contact
    [email protected]
    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.

  • Class with composite Key,  attribute and relation

    Hello
    I am implementing the jpa part of my project however I have a quite common relation to set up between 2 tables and I think I am in the wrong way
    I have 3 entities : question - answer and project
    The code below should allow you to understand easierly :
    ----- project
    public class Project implements Serializable{
         private static final long serialVersionUID = 6478117913922953539L;
         @Id @GeneratedValue(strategy=GenerationType.IDENTITY)
         private Long ProjId;
         @Column(nullable = false)
         private String Name;
         @OneToMany(mappedBy="project",targetEntity=AnswerPK.class)
         private List<Answer> Answers;
    ------- question
    public class Question implements Serializable{
         private static final long serialVersionUID = -1231353969246302525L;
         @Id @GeneratedValue
         private Long QuestId;
         @Column(nullable = false)
         private String Label;
         @Column(nullable = false)
         private String Type;
    -------- Answer
    public class Answer implements Serializable{
         private static final long serialVersionUID = -690621748466361598L;
         @EmbeddedId
         private AnswerPK key;
         private String result;
    ----------- AnswerPK
    public class AnswerPK implements Serializable { 
         private static final long serialVersionUID = 9172011321649468776L;
         @ManyToOne(optional=false)
         @JoinColumn(name = "ProjId",nullable = false)
         private Project project;
         @OneToOne(optional=false)
         @JoinColumn(name = "QuestId",nullable = false)
         private Question question;
    however I got this error
    Caused by: org.hibernate.AnnotationException: Use of @OneToMany or @ManyToMany targeting an unmapped class: com.unmod.Domain.Project.Answers[com.unmod.Domain.AnswerPK]
    so I start thinking that's not the way to do that

    Numerous other things started going odd so I cleared out and re-installed jdev.
    The entities are generated correctly now.
    blew 4 hours on it though

Maybe you are looking for

  • Creation of new schema based on old schema

    Hi, I want to create a new schema with the different name based on the objects of the old schema. For that I created a new user and schema and then imported the dump file into it. But problem is I am not getting the external table structure, except t

  • Getting components of equnr in nested IBAUs

    Dear experts, I have to get the BOM components of a equipment number (equz-equnr). The problem is how do I get the data if there are nested IBAUs? I dont even know what IBAUs are? can some body please give me some info on IBAUs and how to get the com

  • CSCus46899 - Bridge Utilization page does not show data

    Found out to be working with google chrome....

  • How to install JDK International Version?

    Hello- I am running software which requires that the International Version of JDK be installed. I can't find any documentation on how to enable this apart from needing i18n.jar in /jre/lib. How can I obtain and install the International version of JD

  • Debit/credit -excise invoice

    HI, when we save excise invoice -ACCOUNTING DOCUMENT gets generated. 1. i want to know how system determines Posting key 40 Debit (say Modvat suspense) 50-credit (say ed payable) & also how tax code  A1 is coimng in accounting document PL let me kno