geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From rwengr <rwdonap...@bellsouth.net>
Subject Re: car-maven-plugin and Geronimo Bean references problem - UPDATE
Date Mon, 31 Mar 2014 18:37:32 GMT
The root cause of this problem was traced back to the presence of this code
in the gbean.

class SynchWorker implements Runnable {
  final Object lock = new Object();
  boolean stop;
        
  public void run() {
    while ( !stop ) {
      synchronized ( lock ) {
        try {
          lock.wait( apacheDS.getSynchPeriodMillis() );
        } catch ( InterruptedException e ) {
          log.warn( "SynchWorker failed to wait on lock.", e );
        }
      }
      try {
        apacheDS.getDirectoryService().sync();
      } catch ( Exception e ) {
        log.error( "SynchWorker failed to synch directory.", e );
      }
    }
  }
}

First of all, the Junit passes.  All indications are the problem is related
to a class load issue that must occur when car-maven-plugin is starting
Geronimo.

Commenting out the code made it work OK so I tried to defeat it by adding a
system property to the run line

if (System.getProperty("car-maven-plugin) == null) { .... }

It should not run when the Java world is car-maven-plugin.  But
car-maven-plug still fails. So I experimented with rewriting the SynchWorker
class using a constructor, instead of relying on default no-arg constructor
and now it works if that makes any sense.  A bad day for open source.



--
View this message in context: http://apache-geronimo.328035.n3.nabble.com/car-maven-plugin-and-Geronimo-Bean-references-problem-tp3987759p3987784.html
Sent from the Users mailing list archive at Nabble.com.

Mime
View raw message