This site is currently read-only as we are migrating to Oracle Forums for an improved community experience. You will not be able to initiate activity until January 31st, when you will be able to use this site as normal.

    Forum Stats

  • 3,890,899 Users
  • 2,269,649 Discussions
  • 7,916,821 Comments

Discussions

Class Not Found: com.bea.wlevs.adapters.jms.api.OutboundMessageConverter in Outbound JMS Converter

Lucas Jellema
Lucas Jellema CTO & Oracle ACE DirectorThe NetherlandsMember Posts: 327
edited Sep 15, 2014 5:21PM in Complex Event Processing

OEP 12.1.3

Following the instructions in 4 Adapters (12c Release 1 (12.1.3)) I have created a custom message converter bean for my Outbound JMS Adapter (I had to add the JAR file com.bea.wlevs.adapters.jms_12.1.3.0_0.jar from OEP_HOME\oep\modules to my project to make the code compile). However, upon deployment, I ran into a class not found exception:

<Sep 15, 2014 7:17:19 PM CEST> <Error> <org.springframework.osgi.extender.internal.activator.ContextLoaderListener> <BEA-000000> <Application context refresh failed (OsgiBundleXmlApplicationContext(bundle=CreditCardTheftDetection.AirportCreditCardTransactionProcessing, config=osgibundle:/META-INF/spring/*.xml))

java.lang.NoClassDefFoundError: saibot.airport.security.prevention.jms.SuspectedCreditCardEventConverter not found from bundle [CreditCardTheftDetection.AirportCreditCardTransactionProcessing (CreditCardTheftDetection.AirportCreditCardTransactionProcessing)]

    at org.springframework.osgi.util.BundleDelegatingClassLoader.findClass(BundleDelegatingClassLoader.java:112)

    at org.springframework.osgi.util.BundleDelegatingClassLoader.loadClass(BundleDelegatingClassLoader.java:156)

    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)

    at java.lang.Class.forName0(Native Method)

    at java.lang.Class.forName(Class.java:270)

Caused By: java.lang.NoClassDefFoundError: com/bea/wlevs/adapters/jms/api/OutboundMessageConverter

    at java.lang.ClassLoader.defineClass1(Native Method)

    at java.lang.ClassLoader.defineClass(ClassLoader.java:800)

    at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(DefaultClassLoader.java:188)

Caused By: java.lang.ClassNotFoundException: com.bea.wlevs.adapters.jms.api.OutboundMessageConverter

    at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:506)

    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:422)

    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410)

    at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)

I have tried adding the JAR file (com.bea.wlevs.adapters.jms_12.1.3.0_0.jar) to my deployment JAR. That did not make any difference.


Does anyone know why this class OutboundMessageConverter is not found - and more importantly: what I can do to make it available in the run time?


thanks.


Lucas

Best Answer

  • User757087-Oracle
    User757087-Oracle Member Posts: 30
    Answer ✓

    To make a package available to your application at runtime for OEP, you will need to add it to the application's MANIFEST.MF file to the Import Package section (since the OEP server is OSGi-based). There's no need to supply a version number, you can just enter the package name (e.g.)

    com.bea.wlevs.adapters.jms.api,

Answers

  • User757087-Oracle
    User757087-Oracle Member Posts: 30
    Answer ✓

    To make a package available to your application at runtime for OEP, you will need to add it to the application's MANIFEST.MF file to the Import Package section (since the OEP server is OSGi-based). There's no need to supply a version number, you can just enter the package name (e.g.)

    com.bea.wlevs.adapters.jms.api,

  • Lucas Jellema
    Lucas Jellema CTO & Oracle ACE Director The NetherlandsMember Posts: 327

    Thanks for the quick and accurate reply.

    I have added two bundles to the manifest.mf file:

    com.bea.wlevs.adapters.jms.api;version="12.1.3",

    javax.jms,

    and now the application indeed deploys successfully. Very valuable to me - thanks again.

    Lucas

This discussion has been closed.