2 Replies Latest reply on Aug 26, 2011 9:21 AM by Mauricio Salatino

    Specification violation [EJB3 JPA 6.2.1.2] - You have not defined a jta-data-source

    Rajan Bansal Newbie

      Hi,

       

      My error is:

       

      java.lang.RuntimeException: Specification violation [EJB3 JPA 6.2.1.2] - You have not defined a jta-data-source for a JTA enabled persistence context named: org.jbpm.task

      at org.jboss.jpa.deployment.PersistenceUnitInfoImpl.<init>(PersistenceUnitInfoImpl.java:115)

          at org.jboss.jpa.deployment.PersistenceUnitDeployment.start(PersistenceUnitDeployment.java:275)

          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:597)

          at org.jboss.reflect.plugins.introspection.ReflectionUtils.invoke(ReflectionUtils.java:59)

          at org.jboss.reflect.plugins.introspection.ReflectMethodInfoImpl.invoke(ReflectMethodInfoImpl.java:150)

          at org.jboss.joinpoint.plugins.BasicMethodJoinPoint.dispatch(BasicMethodJoinPoint.java:66)

          at org.jboss.kernel.plugins.dependency.KernelControllerContextAction$JoinpointDispatchWrapper.execute(KernelControllerContextAction.java:241)

          at org.jboss.kernel.plugins.dependency.ExecutionWrapper.execute(ExecutionWrapper.java:47)

          at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dispatchExecutionWrapper(KernelControllerContextAction.java:109)

          at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dispatchJoinPoint(KernelControllerContextAction.java:70)

          at org.jboss.kernel.plugins.dependency.LifecycleAction.installActionInternal(LifecycleAction.java:221)

          at org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:54)

          at org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:42)

      and so on......

       

      My persistence .xml (Present in jbpm-human-task-5.1.0.Final\META-INF) a jar file:

       

      <persistence-unit name="org.jbpm.task">

          <provider>org.hibernate.ejb.HibernatePersistence</provider>

          <class>org.jbpm.task.Attachment</class>

          <class>org.jbpm.task.Content</class>

          <class>org.jbpm.task.BooleanExpression</class>

          <class>org.jbpm.task.Comment</class>

          <class>org.jbpm.task.Deadline</class>

          <class>org.jbpm.task.Comment</class>

          <class>org.jbpm.task.Deadline</class>

          <class>org.jbpm.task.Delegation</class>

          <class>org.jbpm.task.Escalation</class>

          <class>org.jbpm.task.Group</class>

          <class>org.jbpm.task.I18NText</class>

          <class>org.jbpm.task.Notification</class>

          <class>org.jbpm.task.EmailNotification</class>

          <class>org.jbpm.task.EmailNotificationHeader</class>

          <class>org.jbpm.task.PeopleAssignments</class>

          <class>org.jbpm.task.Reassignment</class>

          <class>org.jbpm.task.Status</class>

          <class>org.jbpm.task.Task</class>

          <class>org.jbpm.task.TaskData</class>

          <class>org.jbpm.task.SubTasksStrategy</class>

          <class>org.jbpm.task.OnParentAbortAllSubTasksEndStrategy</class>

          <class>org.jbpm.task.OnAllSubTasksEndParentEndStrategy</class>

          <class>org.jbpm.task.User</class>

          <properties>

            <property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect"/>

            <property name="hibernate.connection.driver_class" value="oracle.jdbc.driver.OracleDriver"/>

            <property name="hibernate.connection.url" value="jdbc:oracle:thin:@xxx.xx.x.xxx:1521:lupin" />

            <property name="hibernate.connection.username" value="xxxxxx"/>

            <property name="hibernate.connection.password" value="xxx"/>

            <property name="hibernate.connection.autocommit" value="false" />

            <property name="hibernate.max_fetch_depth" value="3"/>

            <property name="hibernate.hbm2ddl.auto" value="validate" />

            <property name="hibernate.show_sql" value="true" />

          </properties>

        </persistence-unit>

       

      And my testDS1-ds.xml is:

       

      <?xml version="1.0" encoding="UTF-8"?>

      <datasources>

        <local-tx-datasource>

          <jndi-name>jdbc/testDS1</jndi-name>

          <connection-url>jdbc:oracle:thin:@xxx.xx.x.xxx:1521:lupin</connection-url>

             <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>

          <user-name>xxxx</user-name>

          <password>xxxxx</password>

        </local-tx-datasource>

      </datasources>

       

       

      Apart from my original Persistence.xml I chaged this file as follows but nothing helps:

       

      <persistence-unit name="org.jbpm.task">

          <jta-data-source>jdbc/testDS1</jta-data-source>

          <provider>org.hibernate.ejb.HibernatePersistence</provider>

          <class>org.jbpm.task.Attachment</class>

          <class>org.jbpm.task.Content</class>

          <class>org.jbpm.task.BooleanExpression</class>

          <class>org.jbpm.task.Comment</class>

          <class>org.jbpm.task.Deadline</class>

          <class>org.jbpm.task.Comment</class>

          <class>org.jbpm.task.Deadline</class>

          <class>org.jbpm.task.Delegation</class>

          <class>org.jbpm.task.Escalation</class>

          <class>org.jbpm.task.Group</class>

          <class>org.jbpm.task.I18NText</class>

          <class>org.jbpm.task.Notification</class>

          <class>org.jbpm.task.EmailNotification</class>

          <class>org.jbpm.task.EmailNotificationHeader</class>

          <class>org.jbpm.task.PeopleAssignments</class>

          <class>org.jbpm.task.Reassignment</class>

          <class>org.jbpm.task.Status</class>

          <class>org.jbpm.task.Task</class>

          <class>org.jbpm.task.TaskData</class>

          <class>org.jbpm.task.SubTasksStrategy</class>

          <class>org.jbpm.task.OnParentAbortAllSubTasksEndStrategy</class>

          <class>org.jbpm.task.OnAllSubTasksEndParentEndStrategy</class>

          <class>org.jbpm.task.User</class>

          <properties>

             <property name="hibernate.hbm2ddl.auto" value="validate" />

          </properties>

        </persistence-unit>

       

       

      Please provide the solution: And I dont want to delete my persistence.xml.

       

      Regards

      Rajan Bansal