• 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:
  • Devaka Cooray
  • Campbell Ritchie
  • Tim Cooke
  • Ron McLeod
  • Paul Clapham
Sheriffs:
  • Liutauras Vilda
  • Jeanne Boyarsky
  • paul wheaton
Saloon Keepers:
  • Tim Holloway
Bartenders:

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
 
This is awkward. I've grown a second evil head. I'm going to need a machete and a tiny ad ...
Paul Wheaton's 16th Kickstarter: Gardening playing cards for gardeners and homesteaders
https://coderanch.com/t/889615/Paul-Wheaton-Kickstarter-Gardening-playing
reply
    Bookmark Topic Watch Topic
  • New Topic