Topic
  • 2 replies
  • Latest Post - ‏2014-07-02T06:31:40Z by JohnCasey
JohnCasey
JohnCasey
4 Posts

Pinned topic JDBC Adapter problem: No primary keys are set in business object

‏2014-01-24T13:57:40Z |

I try to listen a database table with JDBC adapter. But I face with the following error. The applications run on the following environment versions:

IBM Business Process Manager 7.5.1.1

Websphere Apllication Server 7.0.0.27

IBM WebSphere Adapter for JDBC 7.5.0.3

"No primary keys are set in business object" and "While the date value was being parsed, an error occurred for the following reason" messages are indicated in the exception. Do anybody have a idea the reason of exception? Thank you.

[1/24/14 13:33:08:443 EET] 00000086 JDBCRA001     E com.ibm.j2ca.jdbc.inbound.JDBCEventStoreWithXid setObjectKeys CWYDB0304E: While the date value was being parsed, an error occurred for the following reason: FraudstarOnlinelimit.  Explanation=The adapter could not parse the value provided for the data type in the business object. The data might not be in the correct format or it might not have correct values.  UserAction=Analyze the reason for the failure, and fix the date value.

[1/24/14 13:33:08:445 EET] 00000086 JDBCRA001     E com.ibm.j2ca.jdbc.JDBCRecord getNext Exception Occured When Event is not null.

javax.resource.ResourceException: No primary keys are set in business object(FraudstarOnlinelimit)

       at com.ibm.j2ca.jdbc.inbound.JDBCEventStoreWithXid.setObjectKeys(JDBCEventStoreWithXid.java:709)

       at com.ibm.j2ca.jdbc.JDBCRecord.getNext(JDBCRecord.java:103)

       at com.ibm.j2ca.dbadapter.core.emd.databinding.DBDataBinding.getDataObject(DBDataBinding.java:110)

       at com.ibm.wsspi.sca.j2c.inbound.J2CInboundImpl.invokeBase(J2CInboundImpl.java:1060)

       at com.ibm.wsspi.sca.j2c.inbound.J2CNativeInboundImpl.invokeBinding(J2CNativeInboundImpl.java:211)

       at com.ibm.wsspi.sca.j2c.inbound.J2CNativeInboundImpl.onNotification(J2CNativeInboundImpl.java:339)

       at com.ibm.wsspi.sca.j2c.inbound.J2CNativeInboundImpl.invoke(J2CNativeInboundImpl.java:266)

       at $Proxy162.onNotification(Unknown Source)

       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)

       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)

       at java.lang.reflect.Method.invoke(Method.java:611)

       at com.ibm.ws.container.binding.jms.TransactionalMessageEndpoint.invokeBusinessMethod(TransactionalMessageEndpoint.java:381)

       at com.ibm.ws.container.binding.jms.TransactionalMessageEndpoint.invoke(TransactionalMessageEndpoint.java:458)

       at $Proxy163.onNotification(Unknown Source)

       at com.ibm.j2ca.extension.eventmanagement.internal.EventSender.deliverEvent(EventSender.java:258)

       at com.ibm.j2ca.extension.eventmanagement.internal.EventSender.doSendEvent(EventSender.java:387)

       at com.ibm.j2ca.extension.eventmanagement.internal.EventSender.sendEvent(EventSender.java:232)

       at com.ibm.j2ca.extension.eventmanagement.internal.EventListSender.sendEvents(EventListSender.java:140)

       at com.ibm.j2ca.extension.eventmanagement.internal.EventListSender.run(EventListSender.java:104)

       at com.ibm.ejs.j2c.work.WorkProxy.run(WorkProxy.java:399)

       at com.ibm.ejs.j2c.work.AsyncWorkProxy.run(AsyncWorkProxy.java:137)

       at com.ibm.ws.asynchbeans.J2EEContext$RunProxy.run(J2EEContext.java:268)

       at java.security.AccessController.doPrivileged(AccessController.java:228)

       at com.ibm.ws.asynchbeans.J2EEContext.run(J2EEContext.java:768)

       at com.ibm.ws.asynchbeans.ExecutionContextImpl.go(ExecutionContextImpl.java:86)

       at com.ibm.ejs.j2c.work.AsyncWorkProxy.run(AsyncWorkProxy.java:91)

       at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1646)

 

                                 javax.resource.ResourceException: No primary keys are set in business object(FraudstarOnlinelimit)

       at com.ibm.j2ca.jdbc.inbound.JDBCEventStoreWithXid.setObjectKeys(JDBCEventStoreWithXid.java:709)

       at com.ibm.j2ca.jdbc.JDBCRecord.getNext(JDBCRecord.java:103)

       at com.ibm.j2ca.dbadapter.core.emd.databinding.DBDataBinding.getDataObject(DBDataBinding.java:110)

       at com.ibm.wsspi.sca.j2c.inbound.J2CInboundImpl.invokeBase(J2CInboundImpl.java:1060)

       at com.ibm.wsspi.sca.j2c.inbound.J2CNativeInboundImpl.invokeBinding(J2CNativeInboundImpl.java:211)

       at com.ibm.wsspi.sca.j2c.inbound.J2CNativeInboundImpl.onNotification(J2CNativeInboundImpl.java:339)

       at com.ibm.wsspi.sca.j2c.inbound.J2CNativeInboundImpl.invoke(J2CNativeInboundImpl.java:266)

       at $Proxy162.onNotification(Unknown Source)

       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)

       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)

       at java.lang.reflect.Method.invoke(Method.java:611)

       at com.ibm.ws.container.binding.jms.TransactionalMessageEndpoint.invokeBusinessMethod(TransactionalMessageEndpoint.java:381)

       at com.ibm.ws.container.binding.jms.TransactionalMessageEndpoint.invoke(TransactionalMessageEndpoint.java:458)

       at $Proxy163.onNotification(Unknown Source)

       at com.ibm.j2ca.extension.eventmanagement.internal.EventSender.deliverEvent(EventSender.java:258)

       at com.ibm.j2ca.extension.eventmanagement.internal.EventSender.doSendEvent(EventSender.java:387)

       at com.ibm.j2ca.extension.eventmanagement.internal.EventSender.sendEvent(EventSender.java:232)

       at com.ibm.j2ca.extension.eventmanagement.internal.EventListSender.sendEvents(EventListSender.java:140)

       at com.ibm.j2ca.extension.eventmanagement.internal.EventListSender.run(EventListSender.java:104)

       at com.ibm.ejs.j2c.work.WorkProxy.run(WorkProxy.java:399)

       at com.ibm.ejs.j2c.work.AsyncWorkProxy.run(AsyncWorkProxy.java:137)

       at com.ibm.ws.asynchbeans.J2EEContext$RunProxy.run(J2EEContext.java:268)

       at java.security.AccessController.doPrivileged(AccessController.java:228)

       at com.ibm.ws.asynchbeans.J2EEContext.run(J2EEContext.java:768)

       at com.ibm.ws.asynchbeans.ExecutionContextImpl.go(ExecutionContextImpl.java:86)

       at com.ibm.ejs.j2c.work.AsyncWorkProxy.run(AsyncWorkProxy.java:91)

       at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1646)

  • priyan_sa
    priyan_sa
    1 Post

    Re: JDBC Adapter problem: No primary keys are set in business object

    ‏2014-07-02T06:25:47Z  

    Where you able to fix the issue? i am also facing the same issue. I have my BO with just 2 Data object and i have set the primary key as true. But still it throws me the same error.

  • JohnCasey
    JohnCasey
    4 Posts

    Re: JDBC Adapter problem: No primary keys are set in business object

    ‏2014-07-02T06:31:40Z  

    I alternatively use a batch and scheduler to listen db and if a row added to db call ws. I could not fix the issue, it seems a pmr has to be opened about the subject.

    Regards.