JPPF Issue Tracker
star_faded.png
Please log in to bookmark issues
bug_report_small.png
CLOSED  Bug report JPPF-163  -  Class loading and configuration issues in JCA connector
Posted Jul 03, 2013 - updated Dec 27, 2014
icon_info.png This issue has been closed with status "Closed" and resolution "RESOLVED".
Issue details
  • Type of issue
    Bug report
  • Status
     
    Closed
  • Assigned to
     lolo4j
  • Progress
       
  • Type of bug
    Not triaged
  • Likelihood
    Not triaged
  • Effect
    Not triaged
  • Posted by
     lolo4j
  • Owned by
    Not owned by anyone
  • Category
    J2EE
  • Resolution
    RESOLVED
  • Priority
    Normal
  • Reproducability
    Always
  • Severity
    Normal
  • Targetted for
    icon_milestones.png JPPF 3.3.x
Issue description
I have noticed a number of class-loader related issues in the JPPF reosurce adapter:
  • the client-side load-balancer providers cannot be loaded. This is essentially due to the fact that JPPFBundlerFactory does not use the proper class loader. This was seen with Geronimo 3.0 and WAS 8.0. It's very likely that it also happens with other app-servers. To be tested.
  • in WAS 8.0, there is a conflict of version for SLF4J classes: WAS uses the SLF4J 1.5.6 libs in WAS_ROOT/plugins, whereas the JCA connector rar contains SLF4J 1.6.1 libs. In principle this is resolved by adding the WAS SLF4J libs to the JPPF rar's classpath:
${WAS_INSTALL_ROOT}/plugins/slf4j-api-1.5.6.jar
${WAS_INSTALL_ROOT}/plugins/slf4j-jdk14-1.5.6.jar
Furthermore, some app servers do not parse the JPPF configuration, specified as a resource adapter property in the ra.xml, as expected: for instance Geronimo removes all line breaks, Glassfish throws an exception for a multi-line property. We need to use a different way to specify the configuration, for instance a porperties file included in the jppf-jca.jar file. This problem leads to the client being unable to connect to the server
Steps to reproduce this issue
Try to use the JPPF JCA conector on various app servers

#3
Comment posted by
 lolo4j
Jul 04, 04:29
In fact, I added a trace log.info() to print the configurtion used by the JPPF client. In WAS 8, it shows that the spaces used for indentation for each config property in the ra.xml are taken into account, which changes the names of the properties. So, instead of:
<config-property-value>
      jppf.drivers = driver1
 
      driver1.jppf.server.host = localhost
      driver1.jppf.server.port = 11111
      ...
    </config-property-value>
we should write:
<!-- Please, no indentation in the JPPF configuration -->
    <config-property-value>jppf.drivers = driver1
 
driver1.jppf.server.host = localhost
driver1.jppf.server.port = 11111
...
    </config-property-value>


#5
Comment posted by
 lolo4j
Jul 04, 05:43
In fact, with the code fixes for the class loading issues, the additional slf4j classpath specifications in the resource adapter defintion are not necessary anymore. Note: the resource adapter will not work if it is set as isolated.
#7
Comment posted by
 lolo4j
Jul 07, 11:14
Fixed. Changes committed to SVN:

The issue was updated with the following change(s):
  • This issue has been closed
  • The status has been updated, from Confirmed to Closed.
  • This issue's progression has been updated to 100 percent completed.
  • The resolution has been updated, from Not determined to RESOLVED.
  • Information about the user working on this issue has been changed, from lolo4j to Not being worked on.