From: Nicolas M. <N.M...@le...> - 2009-07-17 10:01:57
|
Hi, I'm using Repast Simphony (an agent-based modelling toolkit which is integrated with geotools) and running my program using the National Grid Service. This means I can run the same program on multiple separate nodes simultaneously with each node having its own JVM to run a model. But if I run a number of models simultaneously I get this error and warning (I've included the stack trace later): WARNING: Unavailable authority factory: European Petroleum Survey Group org.opengis.referencing.FactoryException: Failed to connect to the EPSG database. If I run 1 model at a time there aren't any problems so I don't think it's a classpath problem like the other users on this list have had. My guess is that there is a problem when simultaneous JVMs access the same jar file (there is only one copy of gt2-epsg-hsql-2.3.3.jar which must be accessed by all jvms). Any thoughts on whether this is the problem and how I might go about solving it? Thanks, Nick Malleson P.S. I'm not sure if this is relevant but I think that if I take hsqldb-1.8.0.1.jar off the classpath then the errors go away but memory usage shoots through the roof making it run too slowly to be useful. WARNING: Unavailable authority factory: European Petroleum Survey Group org.opengis.referencing.FactoryException: Failed to connect to the EPSG database. at org.geotools.referencing.factory.epsg.DefaultFactory.createBackingStore(DefaultFactory.java:368) at org.geotools.referencing.factory.DeferredAuthorityFactory.getBackingStore(DeferredAuthorityFactory.java:136) at org.geotools.referencing.factory.BufferedAuthorityFactory.isAvailable(BufferedAuthorityFactory.java:206) at org.geotools.referencing.factory.DeferredAuthorityFactory.isAvailable(DeferredAuthorityFactory.java:124) at org.geotools.factory.FactoryRegistry$DefaultFilter.filter(FactoryRegistry.java:76) at javax.imageio.spi.FilterIterator.advance(ServiceRegistry.java:793) at javax.imageio.spi.FilterIterator.<init>(ServiceRegistry.java:787) at javax.imageio.spi.ServiceRegistry.getServiceProviders(ServiceRegistry.java:491) at org.geotools.factory.FactoryRegistry.getServiceProviders(FactoryRegistry.java:177) at org.geotools.factory.FactoryRegistry.getServiceProviders(FactoryRegistry.java:117) at org.geotools.factory.FactoryRegistry.getServiceProvider(FactoryRegistry.java:275) at org.geotools.factory.FactoryRegistry.getServiceProvider(FactoryRegistry.java:254) at org.geotools.factory.FactoryCreator.getServiceProvider(FactoryCreator.java:115) at org.geotools.referencing.FactoryFinder.getAuthorityFactory(FactoryFinder.java:235) at org.geotools.referencing.FactoryFinder.getCoordinateOperationAuthorityFactory(FactoryFinder.java:540) at org.geotools.referencing.operation.AuthorityBackedFactory.getAuthorityFactory(AuthorityBackedFactory.java:167) at org.geotools.referencing.operation.AuthorityBackedFactory.isAvailable(AuthorityBackedFactory.java:442) at org.geotools.factory.FactoryRegistry$DefaultFilter.filter(FactoryRegistry.java:76) at javax.imageio.spi.FilterIterator.advance(ServiceRegistry.java:793) at javax.imageio.spi.FilterIterator.next(ServiceRegistry.java:811) at org.geotools.factory.FactoryRegistry.getServiceProvider(FactoryRegistry.java:276) at org.geotools.factory.FactoryRegistry.getServiceProvider(FactoryRegistry.java:254) at org.geotools.factory.FactoryCreator.getServiceProvider(FactoryCreator.java:115) at org.geotools.referencing.FactoryFinder.getFactory(FactoryFinder.java:212) at org.geotools.referencing.FactoryFinder.getCoordinateOperationFactory(FactoryFinder.java:364) at org.geotools.geometry.TransformedDirectPosition.<init>(TransformedDirectPosition.java:183) at org.geotools.referencing.GeodeticCalculator.<init>(GeodeticCalculator.java:262) at org.geotools.referencing.GeodeticCalculator.<init>(GeodeticCalculator.java:239) at repast.simphony.space.gis.DefaultGeography.setCRS(DefaultGeography.java:322) at repast.simphony.space.gis.DefaultGeography.<init>(DefaultGeography.java:86) at repast.simphony.context.space.gis.ContextGeography.<init>(ContextGeography.java:13) at repast.simphony.context.space.gis.DefaultGeographyFactory.createGeography(DefaultGeographyFactory.java:19) at burgdsim.environment.SimphonyGISEnvironment.<init>(SimphonyGISEnvironment.java:71) at burgdsim.environment.EnvironmentFactory.createEnvironment(EnvironmentFactory.java:96) at burgdsim.main.ContextCreator.build(ContextCreator.java:168) at repast.simphony.dataLoader.engine.ClassNameContextBuilder.build(ClassNameContextBuilder.java:39) at repast.simphony.dataLoader.engine.DataLoaderControllerAction.runInitialize(DataLoaderControllerAction.java:51) at repast.simphony.engine.controller.DefaultController$2.visit(DefaultController.java:171) at repast.simphony.engine.controller.DefaultController$2.visit(DefaultController.java:1) at repast.simphony.util.collections.NaryTree.preOrderTraverals(NaryTree.java:287) at repast.simphony.util.collections.NaryTree.preOrderTraverals(NaryTree.java:290) at repast.simphony.util.collections.NaryTree.preOrderTraverals(NaryTree.java:290) at repast.simphony.util.collections.NaryTree.preOrderTraversal(NaryTree.java:283) at repast.simphony.engine.controller.DefaultController.runInitialize(DefaultController.java:169) at repast.simphony.engine.controller.DefaultController.runInitialize(DefaultController.java:324) at burgdsim.main.BurgdSimRunner.runInitialize(BurgdSimRunner.java:61) at burgdsim.main.BurgdSimMainMPJ.runModel(BurgdSimMainMPJ.java:261) at burgdsim.main.BurgdSimMainMPJ.slave(BurgdSimMainMPJ.java:201) at burgdsim.main.BurgdSimMainMPJ.<init>(BurgdSimMainMPJ.java:66) at burgdsim.main.BurgdSimMainMPJ.main(BurgdSimMainMPJ.java:241) Caused by: java.sql.SQLException: User not found: SA at org.hsqldb.jdbc.Util.sqlException(Unknown Source) at org.hsqldb.jdbc.jdbcConnection.<init>(Unknown Source) at org.hsqldb.jdbcDriver.getConnection(Unknown Source) at org.hsqldb.jdbc.jdbcDataSource.getConnection(Unknown Source) at org.hsqldb.jdbc.jdbcDataSource.getConnection(Unknown Source) at org.geotools.referencing.factory.epsg.HSQLDataSource.getConnection(HSQLDataSource.java:299) at org.geotools.referencing.factory.epsg.HSQLDataSource.createFactory(HSQLDataSource.java:391) at org.geotools.referencing.factory.epsg.DefaultFactory.createFactory(DefaultFactory.java:242) at org.geotools.referencing.factory.epsg.DefaultFactory.createFactory(DefaultFactory.java:296) at org.geotools.referencing.factory.epsg.DefaultFactory.createBackingStore(DefaultFactory.java:361) ... 49 more |