Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    ConcurrentModificationException when loading data sources

    I'm currently using gwt 2.3 and smartgwtpower nightly 2.5 under red hat 5. I'm currently running in dev mode. My project currently has listgrids attached to datasources. I have 8 datasources, 6 of them use a custom datasource called fooDatasource that extends isomorphic's SQLDataSource. I use spring to instantiate the custom datasources. Here is what the spring file looks like:
    Code:
    <bean id="fooDataSource" class="my.package.structure.FOODataSource" lazy-init="true">
          <property name="logger" ref="fooDataSourceLogger"/>
    </bean>
    Here is what the ds.xml file header looks like:
    Code:
    <DataSource ID="MoviesDataSource" 
    			dataFormat="iscServer" 
    			serverType="sql" 
    			serverConstructor="spring:fooDataSource"
    			dataSourceVersion="1" 
    			dbName="Oracle" 
    			tableName="MOVIE">
    . Here is the stack trace:
    Code:
     
    === 2011-12-20 19:10:09,892 [l0-5] DEBUG XML - Parsed XML from /my/directory/structure/MyProject/war/myproject/sc/system/schema/builtinTypes.xml: 31ms
    === 2011-12-20 19:10:10,006 [l0-6] DEBUG XML - Parsed XML from /my/directory/structure/MyProject/war/ds/MovieAttributeDataSource.ds.xml: 20ms
    === 2011-12-20 19:10:10,018 [l0-4] DEBUG XML - Parsed XML from /my/directory/structure/MyProject/war/ds/MovieAttributeRatingDataSource.ds.xml: 32ms
    === 2011-12-20 19:10:10,020 [l0-2] DEBUG XML - Parsed XML from /my/directory/structure/MyProject/war/ds/MovieAttributeTypeDataSource.ds.xml: 33ms
    === 2011-12-20 19:10:10,020 [l0-3] DEBUG XML - Parsed XML from /my/directory/structure/MyProject/war/ds/MovieAttributeRatingFromUser.ds.xml: 34ms
    === 2011-12-20 19:10:10,021 [l0-5] DEBUG XML - Parsed XML from /my/directory/structure/MyProject/war/ds/ProductDataSource.ds.xml: 34ms
    === 2011-12-20 19:10:10,022 [l0-0] DEBUG XML - Parsed XML from /my/directory/structure/MyProject/war/ds/ReviewerDataSource.ds.xml: 36ms
    === 2011-12-20 19:10:10,033 [l0-6] DEBUG XML - Parsed XML from /my/directory/structure/MyProject/war/myproject/sc/system/schema/DataSource.ds.xml: 26ms
    === 2011-12-20 19:10:10,041 [l0-0] DEBUG XML - Parsed XML from /my/directory/structure/MyProject/war/myproject/sc/system/schema/DataSource.ds.xml: 18ms
    === 2011-12-20 19:10:10,041 [l0-5] DEBUG XML - Parsed XML from /my/directory/structure/MyProject/war/myproject/sc/system/schema/DataSource.ds.xml: 19ms
    === 2011-12-20 19:10:10,041 [l0-2] DEBUG XML - Parsed XML from /my/directory/structure/MyProject/war/myproject/sc/system/schema/DataSource.ds.xml: 21ms
    === 2011-12-20 19:10:10,041 [l0-4] DEBUG XML - Parsed XML from /my/directory/structure/MyProject/war/myproject/sc/system/schema/DataSource.ds.xml: 22ms
    === 2011-12-20 19:10:10,042 [l0-3] DEBUG XML - Parsed XML from /my/directory/structure/MyProject/war/myproject/sc/system/schema/DataSource.ds.xml: 21ms
    === 2011-12-20 19:10:10,136 [l0-2] DEBUG XML - Parsed XML from /my/directory/structure/MyProject/war/myproject/sc/system/schema/DataSourceField.ds.xml: 13ms
    === 2011-12-20 19:10:10,136 [l0-3] DEBUG XML - Parsed XML from /my/directory/structure/MyProject/war/myproject/sc/system/schema/DataSourceField.ds.xml: 13ms
    === 2011-12-20 19:10:10,141 [l0-6] DEBUG XML - Parsed XML from /my/directory/structure/MyProject/war/myproject/sc/system/schema/DataSourceField.ds.xml: 17ms
    === 2011-12-20 19:10:10,141 [l0-0] DEBUG XML - Parsed XML from /my/directory/structure/MyProject/war/myproject/sc/system/schema/DataSourceField.ds.xml: 17ms
    === 2011-12-20 19:10:10,141 [l0-5] DEBUG XML - Parsed XML from /my/directory/structure/MyProject/war/myproject/sc/system/schema/DataSourceField.ds.xml: 17ms
    === 2011-12-20 19:10:10,141 [l0-4] DEBUG XML - Parsed XML from /my/directory/structure/MyProject/war/myproject/sc/system/schema/DataSourceField.ds.xml: 17ms
    === 2011-12-20 19:10:10,214 [l0-4] DEBUG XML - Parsed XML from /my/directory/structure/MyProject/war/myproject/sc/system/schema/ValueMap.ds.xml: 17ms
    === 2011-12-20 19:10:10,217 [l0-3] DEBUG XML - Parsed XML from /my/directory/structure/MyProject/war/myproject/sc/system/schema/OperationBinding.ds.xml: 19ms
    === 2011-12-20 19:10:10,217 [l0-5] DEBUG XML - Parsed XML from /my/directory/structure/MyProject/war/myproject/sc/system/schema/OperationBinding.ds.xml: 17ms
    === 2011-12-20 19:10:10,217 [l0-0] DEBUG XML - Parsed XML from /my/directory/structure/MyProject/war/myproject/sc/system/schema/OperationBinding.ds.xml: 20ms
    === 2011-12-20 19:10:10,223 [l0-2] DEBUG XML - Parsed XML from /my/directory/structure/MyProject/war/ds/AvailableMoviesDataSource.ds.xml: 12ms
    === 2011-12-20 19:10:10,225 [l0-6] DEBUG XML - Parsed XML from /my/directory/structure/MyProject/war/ds/MovieReviewDataSource.ds.xml: 13ms
    === 2011-12-20 19:10:10,228 [l0-4] DEBUG XML - Parsed XML from /my/directory/structure/MyProject/war/myproject/sc/system/schema/OperationBinding.ds.xml: 10ms
    === 2011-12-20 19:10:10,245 [l0-2] DEBUG XML - Parsed XML from /my/directory/structure/MyProject/war/myproject/sc/system/schema/OperationBinding.ds.xml: 16ms
    === 2011-12-20 19:10:10,249 [l0-6] DEBUG XML - Parsed XML from /my/directory/structure/MyProject/war/ds/CompressionRateDataSource.ds.xml: 14ms
    === 2011-12-20 19:10:10,273 [l0-0] ERROR DataSourceLoader - Exception while attempting to load a DataSource
    java.util.ConcurrentModificationException
    	at java.util.HashMap$HashIterator.nextEntry(HashMap.java:793)
    	at java.util.HashMap$KeyIterator.next(HashMap.java:828)
    	at com.isomorphic.util.DataTools.reverseMap(DataTools.java:684)
    	at com.isomorphic.datasource.BasicDataSource.buildFieldData(BasicDataSource.java:699)
    	at com.isomorphic.datasource.BasicDataSource.init(BasicDataSource.java:218)
    	at com.isomorphic.sql.SQLDataSource.init(SQLDataSource.java:151)
    	at com.isomorphic.datasource.DataSource.initialize(DataSource.java:363)
    	at com.isomorphic.datasource.BasicDataSource.fromConfig(BasicDataSource.java:165)
    	at com.isomorphic.datasource.DataSource.fromConfig(DataSource.java:348)
    	at com.isomorphic.datasource.FileSystemDSRepo.loadDS(FileSystemDSRepo.java:110)
    	at com.isomorphic.datasource.DataSource.forName(DataSource.java:167)
    	at com.isomorphic.datasource.DataSource.forName(DataSource.java:159)
    	at com.isomorphic.datasource.DataSource.forName(DataSource.java:154)
    	at com.isomorphic.datasource.PoolableDataSourceFactory.makeUnpooledObject(PoolableDataSourceFactory.java:95)
    	at com.isomorphic.datasource.PoolableDataSourceFactory.makeObject(PoolableDataSourceFactory.java:102)
    	at com.isomorphic.pool.PoolManager.borrowObject(PoolManager.java:82)
    	at com.isomorphic.datasource.DataSourceManager.getDataSource(DataSourceManager.java:87)
    	at com.isomorphic.servlet.DataSourceLoader.processRequest(DataSourceLoader.java:107)
    	at com.isomorphic.servlet.DataSourceLoader.doGet(DataSourceLoader.java:83)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
    	at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
    	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)
    	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
    	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
    	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729)
    	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
    	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    	at org.mortbay.jetty.handler.RequestLogHandler.handle(RequestLogHandler.java:49)
    	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    	at org.mortbay.jetty.Server.handle(Server.java:324)
    	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
    	at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:829)
    	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:513)
    	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
    	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
    	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
    	at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488)
    === 2011-12-20 19:10:10,275 [l0-0] ERROR DataSourceLoader - Top-level servlet error: 
    javax.servlet.ServletException: java.util.ConcurrentModificationException
    	at java.util.HashMap$HashIterator.nextEntry(HashMap.java:793)
    	at java.util.HashMap$KeyIterator.next(HashMap.java:828)
    	at com.isomorphic.util.DataTools.reverseMap(DataTools.java:684)
    	at com.isomorphic.datasource.BasicDataSource.buildFieldData(BasicDataSource.java:699)
    	at com.isomorphic.datasource.BasicDataSource.init(BasicDataSource.java:218)
    	at com.isomorphic.sql.SQLDataSource.init(SQLDataSource.java:151)
    	at com.isomorphic.datasource.DataSource.initialize(DataSource.java:363)
    	at com.isomorphic.datasource.BasicDataSource.fromConfig(BasicDataSource.java:165)
    	at com.isomorphic.datasource.DataSource.fromConfig(DataSource.java:348)
    	at com.isomorphic.datasource.FileSystemDSRepo.loadDS(FileSystemDSRepo.java:110)
    	at com.isomorphic.datasource.DataSource.forName(DataSource.java:167)
    	at com.isomorphic.datasource.DataSource.forName(DataSource.java:159)
    	at com.isomorphic.datasource.DataSource.forName(DataSource.java:154)
    	at com.isomorphic.datasource.PoolableDataSourceFactory.makeUnpooledObject(PoolableDataSourceFactory.java:95)
    	at com.isomorphic.datasource.PoolableDataSourceFactory.makeObject(PoolableDataSourceFactory.java:102)
    	at com.isomorphic.pool.PoolManager.borrowObject(PoolManager.java:82)
    	at com.isomorphic.datasource.DataSourceManager.getDataSource(DataSourceManager.java:87)
    	at com.isomorphic.servlet.DataSourceLoader.processRequest(DataSourceLoader.java:107)
    	at com.isomorphic.servlet.DataSourceLoader.doGet(DataSourceLoader.java:83)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
    	at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
    	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)
    	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
    	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
    	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729)
    	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
    	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    	at org.mortbay.jetty.handler.RequestLogHandler.handle(RequestLogHandler.java:49)
    	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    	at org.mortbay.jetty.Server.handle(Server.java:324)
    	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
    	at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:829)
    	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:513)
    	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
    	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
    	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
    	at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488)
    
    	at com.isomorphic.servlet.DataSourceLoader.processRequest(DataSourceLoader.java:115)
    	at com.isomorphic.servlet.DataSourceLoader.doGet(DataSourceLoader.java:83)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
    	at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
    	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)
    	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
    	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
    	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729)
    	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
    	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    	at org.mortbay.jetty.handler.RequestLogHandler.handle(RequestLogHandler.java:49)
    	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    	at org.mortbay.jetty.Server.handle(Server.java:324)
    	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
    	at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:829)
    	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:513)
    	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
    	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
    	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
    	at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488)
    java.lang.NullPointerException
    	at com.isomorphic.datasource.DSField.<init>(DSField.java:80)
    	at com.isomorphic.datasource.BasicDataSource.buildFieldData(BasicDataSource.java:666)
    	at com.isomorphic.datasource.BasicDataSource.init(BasicDataSource.java:218)
    	at com.isomorphic.sql.SQLDataSource.init(SQLDataSource.java:151)
    	at com.isomorphic.datasource.DataSource.initialize(DataSource.java:363)
    	at com.isomorphic.datasource.BasicDataSource.fromConfig(BasicDataSource.java:165)
    	at com.isomorphic.datasource.DataSource.fromConfig(DataSource.java:348)
    	at com.isomorphic.datasource.FileSystemDSRepo.loadDS(FileSystemDSRepo.java:110)
    	at com.isomorphic.datasource.DataSource.forName(DataSource.java:167)
    	at com.isomorphic.datasource.DataSource.forName(DataSource.java:159)
    	at com.isomorphic.datasource.DataSource.forName(DataSource.java:154)
    	at com.isomorphic.datasource.PoolableDataSourceFactory.makeUnpooledObject(PoolableDataSourceFactory.java:95)
    	at com.isomorphic.datasource.PoolableDataSourceFactory.makeObject(PoolableDataSourceFactory.java:102)
    	at com.isomorphic.pool.PoolManager.borrowObject(PoolManager.java:82)
    	at com.isomorphic.datasource.DataSourceManager.getDataSource(DataSourceManager.java:87)
    	at com.isomorphic.servlet.DataSourceLoader.processRequest(DataSourceLoader.java:107)
    	at com.isomorphic.servlet.DataSourceLoader.doGet(DataSourceLoader.java:83)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
    	at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
    	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)
    	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
    	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
    	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729)
    	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
    	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    	at org.mortbay.jetty.handler.RequestLogHandler.handle(RequestLogHandler.java:49)
    	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    	at org.mortbay.jetty.Server.handle(Server.java:324)
    	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
    	at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:829)
    	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:513)
    	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
    	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
    	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
    	at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488)
    java.lang.NullPointerException
    	at com.isomorphic.datasource.DSField.<init>(DSField.java:80)
    	at com.isomorphic.datasource.BasicDataSource.buildFieldData(BasicDataSource.java:666)
    	at com.isomorphic.datasource.BasicDataSource.init(BasicDataSource.java:218)
    	at com.isomorphic.sql.SQLDataSource.init(SQLDataSource.java:151)
    	at com.isomorphic.datasource.DataSource.initialize(DataSource.java:363)
    	at com.isomorphic.datasource.BasicDataSource.fromConfig(BasicDataSource.java:165)
    	at com.isomorphic.datasource.DataSource.fromConfig(DataSource.java:348)
    	at com.isomorphic.datasource.FileSystemDSRepo.loadDS(FileSystemDSRepo.java:110)
    	at com.isomorphic.datasource.DataSource.forName(DataSource.java:167)
    	at com.isomorphic.datasource.DataSource.forName(DataSource.java:159)
    	at com.isomorphic.datasource.DataSource.forName(DataSource.java:154)
    	at com.isomorphic.datasource.PoolableDataSourceFactory.makeUnpooledObject(PoolableDataSourceFactory.java:95)
    	at com.isomorphic.datasource.PoolableDataSourceFactory.makeObject(PoolableDataSourceFactory.java:102)
    	at com.isomorphic.pool.PoolManager.borrowObject(PoolManager.java:82)
    	at com.isomorphic.datasource.DataSourceManager.getDataSource(DataSourceManager.java:87)
    	at com.isomorphic.servlet.DataSourceLoader.processRequest(DataSourceLoader.java:107)
    	at com.isomorphic.servlet.DataSourceLoader.doGet(DataSourceLoader.java:83)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
    	at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
    	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)
    	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
    	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
    	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729)
    	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
    	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    	at org.mortbay.jetty.handler.RequestLogHandler.handle(RequestLogHandler.java:49)
    	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    	at org.mortbay.jetty.Server.handle(Server.java:324)
    	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
    	at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:829)
    	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:513)
    	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
    	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
    	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
    	at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488)
    java.lang.NullPointerException
    	at com.isomorphic.datasource.DSField.<init>(DSField.java:80)
    	at com.isomorphic.datasource.BasicDataSource.buildFieldData(BasicDataSource.java:666)
    	at com.isomorphic.datasource.BasicDataSource.init(BasicDataSource.java:218)
    	at com.isomorphic.sql.SQLDataSource.init(SQLDataSource.java:151)
    	at com.isomorphic.datasource.DataSource.initialize(DataSource.java:363)
    	at com.isomorphic.datasource.BasicDataSource.fromConfig(BasicDataSource.java:165)
    	at com.isomorphic.datasource.DataSource.fromConfig(DataSource.java:348)
    	at com.isomorphic.datasource.FileSystemDSRepo.loadDS(FileSystemDSRepo.java:110)
    	at com.isomorphic.datasource.DataSource.forName(DataSource.java:167)
    	at com.isomorphic.datasource.DataSource.forName(DataSource.java:159)
    	at com.isomorphic.datasource.DataSource.forName(DataSource.java:154)
    	at com.isomorphic.datasource.PoolableDataSourceFactory.makeUnpooledObject(PoolableDataSourceFactory.java:95)
    	at com.isomorphic.datasource.PoolableDataSourceFactory.makeObject(PoolableDataSourceFactory.java:102)
    	at com.isomorphic.pool.PoolManager.borrowObject(PoolManager.java:82)
    	at com.isomorphic.datasource.DataSourceManager.getDataSource(DataSourceManager.java:87)
    	at com.isomorphic.servlet.DataSourceLoader.processRequest(DataSourceLoader.java:107)
    	at com.isomorphic.servlet.DataSourceLoader.doGet(DataSourceLoader.java:83)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
    	at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
    	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)
    	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
    	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
    	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729)
    	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
    	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    	at org.mortbay.jetty.handler.RequestLogHandler.handle(RequestLogHandler.java:49)
    	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    	at org.mortbay.jetty.Server.handle(Server.java:324)
    	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
    	at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:829)
    	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:513)
    	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
    	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
    	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
    	at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488)
    java.lang.NullPointerException
    	at com.isomorphic.datasource.DSField.<init>(DSField.java:80)
    	at com.isomorphic.datasource.BasicDataSource.buildFieldData(BasicDataSource.java:666)
    	at com.isomorphic.datasource.BasicDataSource.init(BasicDataSource.java:218)
    	at com.isomorphic.sql.SQLDataSource.init(SQLDataSource.java:151)
    	at com.isomorphic.datasource.DataSource.initialize(DataSource.java:363)
    	at com.isomorphic.datasource.BasicDataSource.fromConfig(BasicDataSource.java:165)
    	at com.isomorphic.datasource.DataSource.fromConfig(DataSource.java:348)
    	at com.isomorphic.datasource.FileSystemDSRepo.loadDS(FileSystemDSRepo.java:110)
    	at com.isomorphic.datasource.DataSource.forName(DataSource.java:167)
    	at com.isomorphic.datasource.DataSource.forName(DataSource.java:159)
    	at com.isomorphic.datasource.DataSource.forName(DataSource.java:154)
    	at com.isomorphic.datasource.PoolableDataSourceFactory.makeUnpooledObject(PoolableDataSourceFactory.java:95)
    	at com.isomorphic.datasource.PoolableDataSourceFactory.makeObject(PoolableDataSourceFactory.java:102)
    	at com.isomorphic.pool.PoolManager.borrowObject(PoolManager.java:82)
    	at com.isomorphic.datasource.DataSourceManager.getDataSource(DataSourceManager.java:87)
    	at com.isomorphic.servlet.DataSourceLoader.processRequest(DataSourceLoader.java:107)
    	at com.isomorphic.servlet.DataSourceLoader.doGet(DataSourceLoader.java:83)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
    	at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
    	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)
    	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
    	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
    	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729)
    	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
    	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    	at org.mortbay.jetty.handler.RequestLogHandler.handle(RequestLogHandler.java:49)
    	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    	at org.mortbay.jetty.Server.handle(Server.java:324)
    	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
    	at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:829)
    	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:513)
    	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
    	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
    	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
    	at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488)
    java.lang.NullPointerException
    	at com.isomorphic.datasource.DSField.<init>(DSField.java:80)
    	at com.isomorphic.datasource.BasicDataSource.buildFieldData(BasicDataSource.java:666)
    	at com.isomorphic.datasource.BasicDataSource.init(BasicDataSource.java:218)
    	at com.isomorphic.sql.SQLDataSource.init(SQLDataSource.java:151)
    	at com.isomorphic.datasource.DataSource.initialize(DataSource.java:363)
    	at com.isomorphic.datasource.BasicDataSource.fromConfig(BasicDataSource.java:165)
    	at com.isomorphic.datasource.DataSource.fromConfig(DataSource.java:348)
    	at com.isomorphic.datasource.FileSystemDSRepo.loadDS(FileSystemDSRepo.java:110)
    	at com.isomorphic.datasource.DataSource.forName(DataSource.java:167)
    	at com.isomorphic.datasource.DataSource.forName(DataSource.java:159)
    	at com.isomorphic.datasource.DataSource.forName(DataSource.java:154)
    	at com.isomorphic.datasource.PoolableDataSourceFactory.makeUnpooledObject(PoolableDataSourceFactory.java:95)
    	at com.isomorphic.datasource.PoolableDataSourceFactory.makeObject(PoolableDataSourceFactory.java:102)
    	at com.isomorphic.pool.PoolManager.borrowObject(PoolManager.java:82)
    	at com.isomorphic.datasource.DataSourceManager.getDataSource(DataSourceManager.java:87)
    	at com.isomorphic.servlet.DataSourceLoader.processRequest(DataSourceLoader.java:107)
    	at com.isomorphic.servlet.DataSourceLoader.doGet(DataSourceLoader.java:83)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
    	at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
    	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)
    	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
    	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
    	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729)
    	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
    	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    	at org.mortbay.jetty.handler.RequestLogHandler.handle(RequestLogHandler.java:49)
    	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    	at org.mortbay.jetty.Server.handle(Server.java:324)
    	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
    	at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:829)
    	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:513)
    	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
    	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
    	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
    === 2011-12-20 19:10:10,287 [l0-2] DEBUG XML - Parsed XML from /my/directory/structure/MyProject/war/ds/ProductNamesDataSource.ds.xml: 15ms
    	at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488)
    java.lang.NullPointerException
    	at com.isomorphic.datasource.DSField.<init>(DSField.java:80)
    	at com.isomorphic.datasource.BasicDataSource.buildFieldData(BasicDataSource.java:666)
    	at com.isomorphic.datasource.BasicDataSource.init(BasicDataSource.java:218)
    	at com.isomorphic.sql.SQLDataSource.init(SQLDataSource.java:151)
    	at com.isomorphic.datasource.DataSource.initialize(DataSource.java:363)
    	at com.isomorphic.datasource.BasicDataSource.fromConfig(BasicDataSource.java:165)
    	at com.isomorphic.datasource.DataSource.fromConfig(DataSource.java:348)
    	at com.isomorphic.datasource.FileSystemDSRepo.loadDS(FileSystemDSRepo.java:110)
    	at com.isomorphic.datasource.DataSource.forName(DataSource.java:167)
    	at com.isomorphic.datasource.DataSource.forName(DataSource.java:159)
    	at com.isomorphic.datasource.DataSource.forName(DataSource.java:154)
    	at com.isomorphic.datasource.PoolableDataSourceFactory.makeUnpooledObject(PoolableDataSourceFactory.java:95)
    	at com.isomorphic.datasource.PoolableDataSourceFactory.makeObject(PoolableDataSourceFactory.java:102)
    	at com.isomorphic.pool.PoolManager.borrowObject(PoolManager.java:82)
    	at com.isomorphic.datasource.DataSourceManager.getDataSource(DataSourceManager.java:87)
    	at com.isomorphic.servlet.DataSourceLoader.processRequest(DataSourceLoader.java:107)
    	at com.isomorphic.servlet.DataSourceLoader.doGet(DataSourceLoader.java:83)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
    	at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
    	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)
    	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
    	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
    	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729)
    	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
    	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    	at org.mortbay.jetty.handler.RequestLogHandler.handle(RequestLogHandler.java:49)
    	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    	at org.mortbay.jetty.Server.handle(Server.java:324)
    	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
    	at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:829)
    	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:513)
    	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
    	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
    	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
    	at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488)
    java.lang.NullPointerException
    	at com.isomorphic.datasource.DSField.<init>(DSField.java:80)
    	at com.isomorphic.datasource.BasicDataSource.buildFieldData(BasicDataSource.java:666)
    	at com.isomorphic.datasource.BasicDataSource.init(BasicDataSource.java:218)
    	at com.isomorphic.sql.SQLDataSource.init(SQLDataSource.java:151)
    	at com.isomorphic.datasource.DataSource.initialize(DataSource.java:363)
    	at com.isomorphic.datasource.BasicDataSource.fromConfig(BasicDataSource.java:165)
    	at com.isomorphic.datasource.DataSource.fromConfig(DataSource.java:348)
    	at com.isomorphic.datasource.FileSystemDSRepo.loadDS(FileSystemDSRepo.java:110)
    	at com.isomorphic.datasource.DataSource.forName(DataSource.java:167)
    	at com.isomorphic.datasource.DataSource.forName(DataSource.java:159)
    	at com.isomorphic.datasource.DataSource.forName(DataSource.java:154)
    	at com.isomorphic.datasource.PoolableDataSourceFactory.makeUnpooledObject(PoolableDataSourceFactory.java:95)
    	at com.isomorphic.datasource.PoolableDataSourceFactory.makeObject(PoolableDataSourceFactory.java:102)
    	at com.isomorphic.pool.PoolManager.borrowObject(PoolManager.java:82)
    	at com.isomorphic.datasource.DataSourceManager.getDataSource(DataSourceManager.java:87)
    	at com.isomorphic.servlet.DataSourceLoader.processRequest(DataSourceLoader.java:107)
    	at com.isomorphic.servlet.DataSourceLoader.doGet(DataSourceLoader.java:83)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
    	at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
    	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)
    	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
    	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
    	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729)
    	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
    	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    	at org.mortbay.jetty.handler.RequestLogHandler.handle(RequestLogHandler.java:49)
    	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    	at org.mortbay.jetty.Server.handle(Server.java:324)
    	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
    	at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:829)
    	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:513)
    	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
    	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
    	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
    	at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488)
    java.lang.NullPointerException
    	at com.isomorphic.datasource.DSField.<init>(DSField.java:80)
    	at com.isomorphic.datasource.BasicDataSource.buildFieldData(BasicDataSource.java:666)
    	at com.isomorphic.datasource.BasicDataSource.init(BasicDataSource.java:218)
    	at com.isomorphic.sql.SQLDataSource.init(SQLDataSource.java:151)
    	at com.isomorphic.datasource.DataSource.initialize(DataSource.java:363)
    	at com.isomorphic.datasource.BasicDataSource.fromConfig(BasicDataSource.java:165)
    	at com.isomorphic.datasource.DataSource.fromConfig(DataSource.java:348)
    	at com.isomorphic.datasource.FileSystemDSRepo.loadDS(FileSystemDSRepo.java:110)
    	at com.isomorphic.datasource.DataSource.forName(DataSource.java:167)
    	at com.isomorphic.datasource.DataSource.forName(DataSource.java:159)
    	at com.isomorphic.datasource.DataSource.forName(DataSource.java:154)
    	at com.isomorphic.datasource.PoolableDataSourceFactory.makeUnpooledObject(PoolableDataSourceFactory.java:95)
    	at com.isomorphic.datasource.PoolableDataSourceFactory.makeObject(PoolableDataSourceFactory.java:102)
    	at com.isomorphic.pool.PoolManager.borrowObject(PoolManager.java:82)
    	at com.isomorphic.datasource.DataSourceManager.getDataSource(DataSourceManager.java:87)
    	at com.isomorphic.servlet.DataSourceLoader.processRequest(DataSourceLoader.java:107)
    	at com.isomorphic.servlet.DataSourceLoader.doGet(DataSourceLoader.java:83)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
    	at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
    	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)
    	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
    	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
    	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729)
    	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
    	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    	at org.mortbay.jetty.handler.RequestLogHandler.handle(RequestLogHandler.java:49)
    	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    	at org.mortbay.jetty.Server.handle(Server.java:324)
    	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
    	at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:829)
    	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:513)
    	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
    	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
    	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
    	at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488)
    java.lang.NullPointerException
    	at com.isomorphic.datasource.DSField.<init>(DSField.java:80)
    	at com.isomorphic.datasource.BasicDataSource.buildFieldData(BasicDataSource.java:666)
    	at com.isomorphic.datasource.BasicDataSource.init(BasicDataSource.java:218)
    	at com.isomorphic.sql.SQLDataSource.init(SQLDataSource.java:151)
    	at com.isomorphic.datasource.DataSource.initialize(DataSource.java:363)
    	at com.isomorphic.datasource.BasicDataSource.fromConfig(BasicDataSource.java:165)
    	at com.isomorphic.datasource.DataSource.fromConfig(DataSource.java:348)
    	at com.isomorphic.datasource.FileSystemDSRepo.loadDS(FileSystemDSRepo.java:110)
    	at com.isomorphic.datasource.DataSource.forName(DataSource.java:167)
    	at com.isomorphic.datasource.DataSource.forName(DataSource.java:159)
    	at com.isomorphic.datasource.DataSource.forName(DataSource.java:154)
    	at com.isomorphic.datasource.PoolableDataSourceFactory.makeUnpooledObject(PoolableDataSourceFactory.java:95)
    	at com.isomorphic.datasource.PoolableDataSourceFactory.makeObject(PoolableDataSourceFactory.java:102)
    	at com.isomorphic.pool.PoolManager.borrowObject(PoolManager.java:82)
    	at com.isomorphic.datasource.DataSourceManager.getDataSource(DataSourceManager.java:87)
    	at com.isomorphic.servlet.DataSourceLoader.processRequest(DataSourceLoader.java:107)
    	at com.isomorphic.servlet.DataSourceLoader.doGet(DataSourceLoader.java:83)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
    	at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
    	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)
    	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
    	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
    	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729)
    	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
    	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    	at org.mortbay.jetty.handler.RequestLogHandler.handle(RequestLogHandler.java:49)
    	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    	at org.mortbay.jetty.Server.handle(Server.java:324)
    	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
    	at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:829)
    	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:513)
    	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
    	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
    	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
    	at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488)
    java.lang.NullPointerException
    	at com.isomorphic.datasource.DSField.<init>(DSField.java:80)
    	at com.isomorphic.datasource.BasicDataSource.buildFieldData(BasicDataSource.java:666)
    	at com.isomorphic.datasource.BasicDataSource.init(BasicDataSource.java:218)
    	at com.isomorphic.sql.SQLDataSource.init(SQLDataSource.java:151)
    	at com.isomorphic.datasource.DataSource.initialize(DataSource.java:363)
    	at com.isomorphic.datasource.BasicDataSource.fromConfig(BasicDataSource.java:165)
    	at com.isomorphic.datasource.DataSource.fromConfig(DataSource.java:348)
    	at com.isomorphic.datasource.FileSystemDSRepo.loadDS(FileSystemDSRepo.java:110)
    	at com.isomorphic.datasource.DataSource.forName(DataSource.java:167)
    	at com.isomorphic.datasource.DataSource.forName(DataSource.java:159)
    	at com.isomorphic.datasource.DataSource.forName(DataSource.java:154)
    	at com.isomorphic.datasource.PoolableDataSourceFactory.makeUnpooledObject(PoolableDataSourceFactory.java:95)
    	at com.isomorphic.datasource.PoolableDataSourceFactory.makeObject(PoolableDataSourceFactory.java:102)
    	at com.isomorphic.pool.PoolManager.borrowObject(PoolManager.java:82)
    	at com.isomorphic.datasource.DataSourceManager.getDataSource(DataSourceManager.java:87)
    	at com.isomorphic.servlet.DataSourceLoader.processRequest(DataSourceLoader.java:107)
    	at com.isomorphic.servlet.DataSourceLoader.doGet(DataSourceLoader.java:83)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
    	at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
    	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)
    	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
    	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
    	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729)
    	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
    	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    	at org.mortbay.jetty.handler.RequestLogHandler.handle(RequestLogHandler.java:49)
    	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    	at org.mortbay.jetty.Server.handle(Server.java:324)
    	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
    	at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:829)
    	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:513)
    	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
    	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
    	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
    	at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488)
    === 2011-12-20 19:10:10,307 [l0-5] DEBUG XML - Parsed XML from /my/directory/structure/MyProject/war/ds/MovieAttributeTypeNamesDataSource.ds.xml: 24ms
    === 2011-12-20 19:10:10,324 [l0-2] INFO  Download - Returning 304: Not modified on conditional get of: /my/directory/structure/MyProject/war/myproject/sc/skins/Enterprise/load_skin.js
    === 2011-12-20 19:10:10,602 [l0-2] INFO  Download - Returning 304: Not modified on conditional get of: /my/directory/structure/MyProject/war/myproject/sc/skins/Enterprise/skin_styles.css
    === 2011-12-20 19:10:30,295 [l0-5] INFO  Download - Returning 304: Not modified on conditional get of: /my/directory/structure/MyProject/war/myproject/sc/skins/Enterprise/images/ToolStrip/background.png
    === 2011-12-20 19:10:30,297 [l0-3] INFO  Download - Returning 304: Not modified on conditional get of: /my/directory/structure/MyProject/war/myproject/sc/skins/Enterprise/images/blank.gif
    === 2011-12-20 19:10:30,297 [l0-4] INFO  Download - Returning 304: Not modified on conditional get of: /my/directory/structure/MyProject/war/myproject/sc/skins/Enterprise/images/Window/window_T.png
    === 2011-12-20 19:10:30,299 [l0-6] INFO  Download - Returning 304: Not modified on conditional get of: /my/directory/structure/MyProject/war/myproject/sc/skins/Enterprise/images/headerIcons/close.png
    === 2011-12-20 19:10:30,299 [l0-2] INFO  Download - Returning 304: Not modified on conditional get of: /my/directory/structure/MyProject/war/myproject/sc/skins/Enterprise/images/Window/window_TR.png
    === 2011-12-20 19:10:30,300 [l0-5] INFO  Download - Returning 304: Not modified on conditional get of: /my/directory/structure/MyProject/war/myproject/sc/skins/Enterprise/images/Window/window_L.png
    === 2011-12-20 19:10:30,300 [l0-3] INFO  Download - Returning 304: Not modified on conditional get of: /my/directory/structure/MyProject/war/myproject/sc/skins/Enterprise/images/Window/window_BL.png
    === 2011-12-20 19:10:30,299 [l0-0] INFO  Download - Returning 304: Not modified on conditional get of: /my/directory/structure/MyProject/war/myproject/sc/skins/Enterprise/images/Window/window_TL.png
    === 2011-12-20 19:10:30,302 [l0-4] INFO  Download - Returning 304: Not modified on conditional get of: /my/directory/structure/MyProject/war/myproject/sc/skins/Enterprise/images/Window/window_R.png
    === 2011-12-20 19:10:30,302 [l0-6] INFO  Download - Returning 304: Not modified on conditional get of: /my/directory/structure/MyProject/war/myproject/sc/skins/Enterprise/images/Window/window_B.png
    When I test the custom datasources individually, they run fine. But when all of the try to use the spring bean, then I run into problems. Is there a way to work around this?

    #2
    Notice all these repeat parsings of framework DataSources on different threads:

    Code:
    === 2011-12-20 19:10:10,136 [l0-3] DEBUG XML - Parsed XML from /my/directory/structure/MyProject/war/myproject/sc/system/schema/DataSourceField.ds.xml: 13ms
    === 2011-12-20 19:10:10,141 [l0-6] DEBUG XML - Parsed XML from /my/directory/structure/MyProject/war/myproject/sc/system/schema/DataSourceField.ds.xml: 17ms
    l0-3 and l0-6 are thread names.

    If you've run the Init servlet (which is required) you should not see that these files need to be parsed as you try to load DataSources, because they are parsed once and cached.

    If you *have* run the Init servlet, then this suggests that something about the way you've set up Spring is causing multiple copies of SmartGWT framework classes to be created.

    Comment

    Working...
    X