Google 그룹스는 더 이상 새로운 유즈넷 게시물 또는 구독을 지원하지 않습니다. 과거의 콘텐츠는 계속 볼 수 있습니다.

SDI 7.2.0.1 and JDBCConnector: trouble with NoClassDefFoundError exception for PSCache

조회수 80회
읽지 않은 첫 메시지로 건너뛰기

David Mak

읽지 않음,
2014. 11. 11. 오전 11:24:4414. 11. 11.
받는사람
I've got a relatively straight-forward assembly line in a configuration where a JDBCConnector feed is in use.

From the eclipse UI, I can connect to the database from the input map tab, but when executing the configuration, I get the following exception:

handleException , initialize, java.lang.NoClassDefFoundError: com/ibm/di/connector/JDBCConnector$PSCache

If I look in jars/connectors/JDBCConenctor.jar, I do see the relevant class:

com/ibm/di/connector/JDBCConnector$PSCache.class

We are running SDI7.2 FP1 with the updated JVM/JRE.

Has anyone else seen this? Is there some property I'm missing for prepared statements to work? I also tried disabling prepared statements in the advanced configuration options, but still get this error.

TIA,
David

Full exception log entry:

11:00:57,311 INFO - [ReadAlumniRegistrationEmail] CTGDIS495I handleException , initialize, java.lang.NoClassDefFoundError: com/ibm/di/connector/JDBCConnector$PSCache
11:00:57,314 ERROR - [ReadAlumniRegistrationEmail] CTGDIS810E handleException - cannot handle exception , initialize
java.lang.NoClassDefFoundError: com/ibm/di/connector/JDBCConnector$PSCache
at com.ibm.di.connector.JDBCConnector.getPrepared(JDBCConnector.java:3663)
at com.ibm.di.connector.JDBCConnector.selectEntries(JDBCConnector.java:696)
at com.ibm.di.server.AssemblyLineComponent.executeOperation(AssemblyLineComponent.java:3374)
at com.ibm.di.server.AssemblyLineComponent.doConnectorSelectEntries(AssemblyLineComponent.java:1268)
at com.ibm.di.server.AssemblyLineComponent.doInitialize(AssemblyLineComponent.java:1209)
at com.ibm.di.server.AssemblyLineComponent.initialize(AssemblyLineComponent.java:1151)
at com.ibm.di.server.AssemblyLine.initConnectors(AssemblyLine.java:1912)
at com.ibm.di.server.AssemblyLine.msInitConn(AssemblyLine.java:3566)
at com.ibm.di.server.AssemblyLine.executeMainStep(AssemblyLine.java:3376)
at com.ibm.di.server.AssemblyLine.executeMainLoop(AssemblyLine.java:3000)
at com.ibm.di.server.AssemblyLine.executeMainLoop(AssemblyLine.java:2983)
at com.ibm.di.server.AssemblyLine.executeAL(AssemblyLine.java:2952)
at com.ibm.di.server.AssemblyLine.run(AssemblyLine.java:1319)
11:00:57,315 ERROR - CTGDIS266E Error in InitConnectors. Exception occurred: java.lang.Exception: java.lang.NoClassDefFoundError: com/ibm/di/connector/JDBCConnector$PSCache
java.lang.Exception: java.lang.NoClassDefFoundError: com/ibm/di/connector/JDBCConnector$PSCache
at com.ibm.di.server.AssemblyLineComponent.handleException(AssemblyLineComponent.java:2444)
at com.ibm.di.server.AssemblyLineComponent.doInitialize(AssemblyLineComponent.java:1212)
at com.ibm.di.server.AssemblyLineComponent.initialize(AssemblyLineComponent.java:1151)
at com.ibm.di.server.AssemblyLine.initConnectors(AssemblyLine.java:1912)
at com.ibm.di.server.AssemblyLine.msInitConn(AssemblyLine.java:3566)
at com.ibm.di.server.AssemblyLine.executeMainStep(AssemblyLine.java:3376)
at com.ibm.di.server.AssemblyLine.executeMainLoop(AssemblyLine.java:3000)
at com.ibm.di.server.AssemblyLine.executeMainLoop(AssemblyLine.java:2983)
at com.ibm.di.server.AssemblyLine.executeAL(AssemblyLine.java:2952)
at com.ibm.di.server.AssemblyLine.run(AssemblyLine.java:1319)
Caused by: java.lang.NoClassDefFoundError: com/ibm/di/connector/JDBCConnector$PSCache
at com.ibm.di.connector.JDBCConnector.getPrepared(JDBCConnector.java:3663)
at com.ibm.di.connector.JDBCConnector.selectEntries(JDBCConnector.java:696)
at com.ibm.di.server.AssemblyLineComponent.executeOperation(AssemblyLineComponent.java:3374)
at com.ibm.di.server.AssemblyLineComponent.doConnectorSelectEntries(AssemblyLineComponent.java:1268)
at com.ibm.di.server.AssemblyLineComponent.doInitialize(AssemblyLineComponent.java:1209)
... 8 more

Eddie Hartman

읽지 않음,
2014. 11. 11. 오후 4:53:0914. 11. 11.
받는사람
This looks strange, David, I would recommend opening a PMR with our awesome L2 team.

David Mak

읽지 않음,
2014. 11. 11. 오후 5:14:0414. 11. 11.
받는사람
On Tuesday, November 11, 2014 4:53:09 PM UTC-5, Eddie Hartman wrote:
> This looks strange, David, I would recommend opening a PMR with our awesome L2 team.

Thanks for the look over Eddie! Yes, I opened the PMR at the same time I posted: 48133,L6Q,000

I just got off the phone with Jason Williams who was very helpful. Unfortunately, out troubleshooting process resulted in the problem resolving itself. We did two things:

1) Revert the JVM/JRE to the original version.
2) Remove the user accounts JAVA_HOME and the $JAVA_HOME/bin path from the user environment.

This resulted in the problem disappearing. What odd is, we next reversed the above actions one by one to determine which solved the problem:

1) Re-add the new JVM/JRE.

After this, the problem was still gone.

2) Add back the env variables when the problem existed.

Unfortunately, this didn't result in the problem recurring.

So... our conclusion is that there must have been some cached class files in the JVM that must have been flushed/rebuilt based on our actions.

IBM are closing the PMR and documenting this behavior.

Eddie Hartman

읽지 않음,
2014. 11. 13. 오전 11:44:1614. 11. 13.
받는사람
They say life is all about the journey. But TDIing is mostly about the destination. Glad you go where you wanted to go, David :)
새 메시지 0개