Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » EclipseLink » ValidationException Isolated Data is not currently supported within a Client (Exception [EclipseLink-7114] (Eclipse Persistence Services - 2.5.1.v20130824-981335c): org.eclipse.persistence.exceptions.ValidationException Exception Description: Isolated Data is not currently supp)
icon4.gif  ValidationException Isolated Data is not currently supported within a Client [message #1748739] Mon, 28 November 2016 08:00 Go to next message
Nagarajan Chinnasamy is currently offline Nagarajan ChinnasamyFriend
Messages: 5
Registered: November 2016
Junior Member
Quote:

Exception [EclipseLink-7114] (Eclipse Persistence Services -
2.5.1.v20130824-981335c): org.eclipse.persistence.exceptions.ValidationException Exception
Description: Isolated Data is not currently supported within a Client
Session Broker.


This exception happens during the starting of the application. The frustrating aspect of this exception is that it is occurring randomly!

The application uses Eclipselink's Composite Persistence Unit feature. Upon start of the application, it prints following log messages before throwing this exception:
    [EL Info]: connection: 2016-11-27 12:26:24.125--ServerSession(1424344630)--PU1 login successful
    [EL Info]: connection: 2016-11-27 12:26:24.14--ServerSession(1670276602)--PU2 login successful
    [EL Info]: connection: 2016-11-27 12:26:24.14--ServerSession(780412982)-- PU3 login successful


Following which a few messages of the following kind are printed:

    [EL Warning]: metadata: 2016-11-27 12:26:24.156--ServerSession(1424344630)--Reverting the lazy setting on the OneToOne or ManyToOne attribute [attrname] for the entity class [class fully_qualified_class_name] since weaving was not enabled or did not occur. 


Then the PU logout messages are printed as follows:

 [EL Info]: connection: 2016-11-27 12:26:24.906--ServerSession(1424344630)--PU1 logout successful
    [EL Info]: connection: 2016-11-27 12:26:24.906--ServerSession(1670276602)--PU2 logout successful
    [EL Info]: connection: 2016-11-27 12:26:24.906--ServerSession(780412982)--PU3 logout successful


Immediately after that the validation exception about isolated data is thrown:

    Nov 27, 2016 12:26:24 PM org.apache.catalina.core.ApplicationContext log
    SEVERE: StandardWrapper.Throwable
    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'messageSource' defined in ServletContext resource [/WEB-INF/mvc dispatcher-servlet.xml]: Bean instantiation via constructor failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [fully_qualified_class_name]: Constructor threw exception; nested exception is Exception [EclipseLink-7114] (Eclipse Persistence Services - 2.5.3.v20150122-8d884e3): org.eclipse.persistence.exceptions.ValidationException Exception Description: Isolated Data is not currently supported within a Client Session Broker. Session named PU3 contains descriptors representing isolated data.
        at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:275)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1143)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1046)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:510)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
        at org.springframework.context.support.AbstractApplicationContext.initMessageSource(AbstractApplicationContext.java:697)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:526)
        at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:667)
        at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:633)
        at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:681)
        at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:552)
        at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:493)
        at org.springframework.web.servlet.hxxpServletBean.init(hxxpServletBean.java:136)
        at javax.servlet.GenericServlet.init(GenericServlet.java:160)
        at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1280)
        at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1193)
        at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1088)
        at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5176)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5460)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)


Following is the `Composite PU` persistence.xml:

    <persistence xmlns="hxxp://java.sun.com/xml/ns/persistence"
	    xmlns:xsi="hxxp://www.w3.org/2001/XMLSchema-instance"
	    xsi:schemaLocation="hxxp://java.sun.com/xml/ns/persistence persistence_1_0.xsd" version="1.0">
    <persistence-unit name="compositePu" transaction-type="RESOURCE_LOCAL">
        <provider> org.eclipse.persistence.jpa.PersistenceProvider </provider>
        <jar-file>PU1-entities.jar</jar-file>
        <jar-file>PU2-entities.jar</jar-file>
        <jar-file>PU3-entities.jar</jar-file>
        <properties>
            <property name="eclipselink.composite-unit" value="true" />
        </properties>
    </persistence-unit>
</persistence>


Following is the structure of respective PU's persistence.xml. They all follow the similar structure:
    <?xml version="1.0" encoding="UTF-8"?>
    <persistence version="2.0"
        xmlns="hxxp://java.sun.com/xml/ns/persistence" xmlns:xsi="hxxp://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="hxxp://java.sun.com/xml/ns/persistence hxxp://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
        <persistence-unit name="PU3" transaction-type="RESOURCE_LOCAL">
        <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>

        ---- list of fully qualified entity class names ----

        <properties>
            <property name="eclipselink.weaving" value="false" />
            <property name="javax.persistence.validation.group.pre-update" value="none" />
            <property name="eclipselink.target-database" value="MySQL" />
            <property name="eclipselink.ddl-generation" value="none" />
            <property name="eclipselink.persistence-context.flush-mode" value="COMMIT" />
            <property name="eclipselink.persistence-context.close-on-commit" value="true" />
            <property name="javax.persistence.validation.group.pre-persist" value="" />
            <property name="eclipselink.cache.shared.default" value="false" />
            <property name="eclipselink.logging.parameters" value="true" />
            <property name="eclipselink.logging.level" value="FINEST" />
            <property name="eclipselink.logging.parameters" value="true" />
            <property name="eclipselink.cache.shared.default" value="false" />
          </properties>
        </persistence-unit>
    </persistence>

Re: ValidationException Isolated Data is not currently supported within a Client [message #1748935 is a reply to message #1748739] Wed, 30 November 2016 09:30 Go to previous messageGo to next message
Nagarajan Chinnasamy is currently offline Nagarajan ChinnasamyFriend
Messages: 5
Registered: November 2016
Junior Member
As per the discussion at: http://stackoverflow.com/questions/35285956/eclipselink-exception-isolated-data-is-not-currently-supported, when eclipselink.cache.shared.default is removed from persistence.xml, this exception goes away.

Other details about this application:

We use multi-tenant entities. Also, we use Joined Inheritance Tables. Sharing this info, if in case that helps.

[Updated on: Wed, 30 November 2016 09:38]

Report message to a moderator

Re: ValidationException Isolated Data is not currently supported within a Client [message #1748937 is a reply to message #1748739] Wed, 30 November 2016 09:36 Go to previous messageGo to next message
Nagarajan Chinnasamy is currently offline Nagarajan ChinnasamyFriend
Messages: 5
Registered: November 2016
Junior Member
As per the discussion at: http://stackoverflow.com/questions/35285956/eclipselink-exception-isolated-data-is-not-currently-supported, when eclipselink.cache.shared.default is removed from persistence.xml, this exception goes away.

Other details about this application:

We use multi-tenant entities. Also, we use Joined Inheritance Tables. Sharing this info, if in case that helps.
Re: ValidationException Isolated Data is not currently supported within a Client [message #1748952 is a reply to message #1748937] Wed, 30 November 2016 11:45 Go to previous messageGo to next message
Nagarajan Chinnasamy is currently offline Nagarajan ChinnasamyFriend
Messages: 5
Registered: November 2016
Junior Member
Setting both eclipselink.cache.shared.default and eclipselink.multitenant.tenants-share-cache to false eliminated isolated-data exception.

Having eclipselink.cache.shared.default set to false and having multi-tenant Joined Table Inheritance entities, triggered random occurrence of behavior explained in Cache Isolation Level Warning on Parent Entity. However, please note that I have no clue about the random behaviour though.

Setting eclipselink.multitenant.tenants-share-cache to false in addition to eclipselink.cache.shared.default having been set to false resulted in consistent elimination of isolated-data exception.

[Updated on: Wed, 30 November 2016 11:47]

Report message to a moderator

Re: ValidationException Isolated Data is not currently supported within a Client [message #1749245 is a reply to message #1748952] Sun, 04 December 2016 07:14 Go to previous message
Nagarajan Chinnasamy is currently offline Nagarajan ChinnasamyFriend
Messages: 5
Registered: November 2016
Junior Member
Warning: This solution did not solve the problem. The isolated-data exception resurfaced again.
Previous Topic:EclipseLink can't create foreign key constraints
Next Topic:Documentation for eclipselink.transaction.join-existing property?
Goto Forum:
  


Current Time: Sun Dec 17 13:55:42 GMT 2017

Powered by FUDForum. Page generated in 0.01652 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software