• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

problem in accessing thrid party jar in EJB project

 
Greenhorn
Posts: 3
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hello,

We are using WSAD V5.1. Our backend is CICS mainframes. We are making ECIRequest to connect to CICS using api's provided by IBM in jar IBMConnectorCICS304.jar.
When we are making this call from war. It works well.
I have a requirement of picking message from MQ seires and make a call to CICS framework. I have written MDB to pick message from MQ series and then I make ECIRequest in MDB.
I am getting following error:-
[9/3/07 12:52:01:766 EDT] 6e426e42 ExceptionUtil E CNTR0020E: Non-application exception occurred while processing method "onMessage" on bean "BeanId(Dnr#dnrMdb.jar#MQListener, null)". Exception data: java.lang.reflect.InvocationTargetException
Caused by: java.lang.LinkageError: LinkageError while defining class: com.ibm.ctg.client.TcpJavaGateway
Could not be defined due to: LinkageError while defining class: com.ibm.ctg.client.JavaGatewayInterface
Could not be defined due to: (com/ibm/ctg/client/JavaGatewayInterface) abstract method may not be private, static, final, native, synchronized or strict at offset=2669
This is often caused by having a class defined at multiple
locations within the classloader hierarchy. Other potential causes
include compiling against an older or newer version of the class
that has an incompatible method signature.
Dumping the current context classloader hierarchy:
==> indicates defining classloader
==>[0]
com.ibm.ws.classloader.CompoundClassLoader@6c416c41
Local ClassPath: D:\DNR_New\Studio Projects\dnrMdb\ejbModule;D:\DNR_New\Studio Projects\Dnr\tools\extensions\IBMConnectorCICS304.jar;
Delegation Mode: PARENT_FIRST
[1] com.ibm.ws.classloader.ExtJarClassLoader@306844234 Local ClassPath: C:\Program Files\IBM\WebSphere Studio\Application Developer\v5.1.2\runtimes\base_v51\lib\app; Delegation Mode: PARENT_LAST
[2] com.ibm.ws.classloader.ProtectionClassLoader@14ee14ee
[3] com.ibm.ws.bootstrap.ExtClassLoader@59025902
[4] sun.misc.Launcher$AppClassLoader@412c412c
[5] sun.misc.Launcher$ExtClassLoader@64f064f0
---Original exception---
java.lang.ClassFormatError: (com/ibm/ctg/client/JavaGatewayInterface) abstract method may not be private, static, final, native, synchronized or strict at offset=2669

I have tried changing delegation mode to 'PARENT_LAST'. But it didn't work.

For using third party jar I have added it to utility projects in EAR. And then added Java Jar Dependency in EJB project.

Still getting the same error.

Any pointers will be very helpful.

Thanks,
Preeti
 
Every plan is a little cooler if you have a blimp. And a tiny ad.
a bit of art, as a gift, the permaculture playing cards
https://gardener-gift.com
reply
    Bookmark Topic Watch Topic
  • New Topic