2015-03-11 6 views
0

При попытке пройтись по руководству по установке оперативной аналитики MFP, при попытке запустить сервер MFP я обнаружил исключение OverlappingFileLockException. Однако такая проблема не возникает, когда я исключаю Operational Analytics из server.xml Liberty Core. Кто-нибудь может помочь нам в этом вопросе?OverlappingFileLockException при запуске сервера MFP с оперативной аналитикой

Installing Operational Analytics

[11/03/15 12:37:27:261 EST] 0000002c com.ibm.puremeap.util.DataUtil        I getDataSource Returning Data Source based upon jndiName=java:comp/env/jdbc/AppCenterDS [email protected] 
[11/03/15 12:37:28:696 EST] 00000032 com.ibm.ws.webcontainer.osgi.webapp.WebGroup     I SRVE0169I: Loading Web Module: Worklight Console. 
[11/03/15 12:37:28:696 EST] 00000032 com.ibm.ws.webcontainer          I SRVE0250I: Web Module Worklight Console has been bound to default_host. 
[11/03/15 12:37:28:696 EST] 00000032 com.ibm.ws.http.internal.VirtualHostImpl      A CWWKT0016I: Web application available (default_host): http://auworklighttest.gabraus.local:9080/worklightconsole/ 
[11/03/15 12:37:28:743 EST] 00000032 com.ibm.ws.session.WASSessionCore       I SESN0176I: A new session context will be created for application key default_host/worklightconsole 
[11/03/15 12:37:28:743 EST] 00000032 com.ibm.ws.util            I SESN0172I: The session manager is using the Java default SecureRandom implementation for session ID generation. 
[11/03/15 12:37:28:790 EST] 00000032 com.ibm.ws.webcontainer.servlet        I SRVE0242I: [worklightconsole] [/worklightconsole] [servicesServlet]: Initialization successful. 
[11/03/15 12:37:28:790 EST] 00000032 com.ibm.ws.app.manager.AppMessageHelper      A CWWKZ0001I: Application worklightconsole started in 5.523 seconds. 
[11/03/15 12:37:29:585 EST] 0000002d com.ibm.ws.rsadapter.spi.InternalGenericDataStoreHelper  I DSRA8203I: Database product name : DB2/NT64 
[11/03/15 12:37:29:585 EST] 0000002d com.ibm.ws.rsadapter.spi.InternalGenericDataStoreHelper  I DSRA8204I: Database product version : SQL10014 
[11/03/15 12:37:29:585 EST] 0000002d com.ibm.ws.rsadapter.spi.InternalGenericDataStoreHelper  I DSRA8205I: JDBC driver name : IBM Data Server Driver for JDBC and SQLJ 
[11/03/15 12:37:29:585 EST] 0000002d com.ibm.ws.rsadapter.spi.InternalGenericDataStoreHelper  I DSRA8206I: JDBC driver version : 4.15.113 
[11/03/15 12:37:29:585 EST] 0000002c com.ibm.ejs.j2c.FreePool          E J2CA0046E: Method createManagedConnectionWithMCWrapper caught an exception during creation of the ManagedConnection for resource jdbc/AppCenterDS, throwing ResourceAllocationException. Original exception: <=================================>Exception Message -> null 
java.nio.channels.OverlappingFileLockException 
    at sun.nio.ch.SharedFileLockTable.checkList(FileLockTable.java:268) 
    at sun.nio.ch.SharedFileLockTable.add(FileLockTable.java:165) 
    at sun.nio.ch.FileChannelImpl.lock(FileChannelImpl.java:1034) 
    at java.nio.channels.FileChannel.lock(FileChannel.java:1064) 
    at com.ibm.db2.jcc.am.jp.a(jp.java:629) 
    at com.ibm.db2.jcc.am.ip.a(ip.java:403) 
    at com.ibm.db2.jcc.am.ip.a(ip.java:475) 
    at com.ibm.db2.jcc.am.Connection.isLicenseValidatedWithServerLicenseProc(Connection.java:8506) 
    at com.ibm.db2.jcc.am.Connection.checkForLicenseRestrictions(Connection.java:4787) 
    at com.ibm.db2.jcc.am.Connection.completeConnect(Connection.java:4730) 
    at com.ibm.db2.jcc.t4.b.completeConnect(b.java:611) 
    at com.ibm.db2.jcc.t4.b.a(b.java:423) 
    at com.ibm.db2.jcc.t4.b.a(b.java:395) 
    at com.ibm.db2.jcc.t4.b.<init>(b.java:333) 
    at com.ibm.db2.jcc.DB2PooledConnection.<init>(DB2PooledConnection.java:83) 
    at com.ibm.db2.jcc.DB2ConnectionPoolDataSource.getPooledConnectionX(DB2ConnectionPoolDataSource.java:348) 
    at com.ibm.db2.jcc.DB2ConnectionPoolDataSource.getPooledConnection(DB2ConnectionPoolDataSource.java:131) 
    at com.ibm.ws.rsadapter.spi.InternalGenericDataStoreHelper$1.run(InternalGenericDataStoreHelper.java:1196) 
    at java.security.AccessController.doPrivileged(AccessController.java:333) 
    at com.ibm.ws.rsadapter.spi.InternalGenericDataStoreHelper.getPooledConnection(InternalGenericDataStoreHelper.java:1212) 
    at com.ibm.ws.rsadapter.spi.InternalDB2UniversalDataStoreHelper.getPooledConnection(InternalDB2UniversalDataStoreHelper.java:1509) 
    at com.ibm.ws.rsadapter.spi.WSRdbDataSource.getPooledConnection(WSRdbDataSource.java:331) 
    at com.ibm.ws.rsadapter.spi.WSManagedConnectionFactoryImpl.getConnection(WSManagedConnectionFactoryImpl.java:1180) 
    at com.ibm.ws.rsadapter.spi.WSManagedConnectionFactoryImpl.createManagedConnection(WSManagedConnectionFactoryImpl.java:930) 
    at com.ibm.ws.rsadapter.spi.WSManagedConnectionFactoryImpl.createManagedConnection(WSManagedConnectionFactoryImpl.java:615) 
    at com.ibm.ejs.j2c.FreePool.createManagedConnectionWithMCWrapper(FreePool.java:1768) 
    at com.ibm.ejs.j2c.FreePool.createOrWaitForConnection(FreePool.java:1512) 
    at com.ibm.ejs.j2c.PoolManager.reserve(PoolManager.java:3040) 
    at com.ibm.ejs.j2c.PoolManager.reserve(PoolManager.java:2392) 
    at com.ibm.ejs.j2c.ConnectionManager.allocateMCWrapper(ConnectionManager.java:1109) 
    at com.ibm.ejs.j2c.ConnectionManager.allocateConnection(ConnectionManager.java:676) 
    at com.ibm.ws.rsadapter.jdbc.WSJdbcDataSource.getConnection(WSJdbcDataSource.java:354) 
    at com.ibm.ws.rsadapter.jdbc.WSJdbcDataSource.getConnection(WSJdbcDataSource.java:325) 
    at com.ibm.puremeap.resources.data.impl.PureMeapData.recordDataBaseInfo(PureMeapData.java:270) 
    at com.ibm.puremeap.resources.data.impl.PureMeapData.<init>(PureMeapData.java:173) 
    at com.ibm.puremeap.resources.data.impl.PureMeapData.fromDataSource(PureMeapData.java:103) 
    at com.ibm.puremeap.resources.data.DataStoreFactory.getJPADBStore(DataStoreFactory.java:46) 
    at com.ibm.puremeap.resources.data.DataStoreFactory.getDataStore(DataStoreFactory.java:34) 
    at com.ibm.puremeap.util.DataUtil.getData(DataUtil.java:453) 
    at com.ibm.puremeap.listeners.AppCenterServletContextListener.checkAndUpgradeTo60(AppCenterServletContextListener.java:171) 
    at com.ibm.puremeap.listeners.AppCenterServletContextListener.contextInitialized(AppCenterServletContextListener.java:88) 
    at com.ibm.ws.webcontainer.webapp.WebApp.notifyServletContextCreated(WebApp.java:2374) 
    at com.ibm.ws.webcontainer.webapp.WebApp.initialize(WebApp.java:1044) 
    at com.ibm.ws.webcontainer.webapp.WebApp.initialize(WebApp.java:6342) 
    at com.ibm.ws.webcontainer.osgi.DynamicVirtualHost.startWebApp(DynamicVirtualHost.java:446) 
    at com.ibm.ws.webcontainer.osgi.DynamicVirtualHost.startWebApplication(DynamicVirtualHost.java:441) 
    at com.ibm.ws.webcontainer.osgi.WebContainer.startWebApplication(WebContainer.java:761) 
    at com.ibm.ws.webcontainer.osgi.WebContainer.startModule(WebContainer.java:739) 
    at com.ibm.ws.app.manager.web.internal.WebModuleHandlerImpl.deployModule(WebModuleHandlerImpl.java:106) 
    at com.ibm.ws.app.manager.module.internal.DeployedAppInfoBase.deployModule(DeployedAppInfoBase.java:538) 
    at com.ibm.ws.app.manager.module.internal.DeployedAppInfoBase.deployModules(DeployedAppInfoBase.java:457) 
    at com.ibm.ws.app.manager.module.internal.DeployedAppInfoBase.deployApp(DeployedAppInfoBase.java:411) 
    at com.ibm.ws.app.manager.war.internal.WARApplicationHandlerImpl.install(WARApplicationHandlerImpl.java:73) 
    at com.ibm.ws.app.manager.internal.statemachine.StartAction.execute(StartAction.java:139) 
    at com.ibm.ws.app.manager.internal.statemachine.ApplicationStateMachineImpl.enterState(ApplicationStateMachineImpl.java:1166) 
    at com.ibm.ws.app.manager.internal.statemachine.ApplicationStateMachineImpl.run(ApplicationStateMachineImpl.java:779) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1177) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) 
    at java.lang.Thread.run(Thread.java:795) 
<=================================> 
+0

Здесь вы смешиваете множество концепций. В вашем стеке отображается пакет Java с «puremeap», который является [Application Center] (http://www-01.ibm.com/support/knowledgecenter/SSHS8R_6.3.0/com.ibm.worklight.installconfig.doc/ AppCenter/c_installation_manager.html). В Application Center используется база данных SQL (очевидно, DB2 в вашей установке?). Операционная аналитика - это WAR с встроенной библиотекой хранилища и вообще не использует реляционную базу данных; конечно, не DB2. Я понятия не имею, как они могут мешать друг другу, чтобы вызвать исключение, которое вы видите. – mikerott

ответ

0

Я не ударил эту проблему, но это может быть потому, что моя практика была установить оперативный сервер Analytics на отдельном экземпляре Liberty. Хотя это не обязательно, это ближе к шаблону, который вы использовали бы в производстве, где у вас будет не только отдельный экземпляр Java EE Server, но, вероятно, будет один или несколько специализированных OA-машин.

0

Техническое примечание http://www-01.ibm.com/support/docview.wss?uid=swg21664366 объясняет, что это связано с «более чем одним экземпляром класса com.ibm.db2.jcc.DB2Driver в JVM». Другими словами, конфигурация сервера приложений содержит две или более «библиотеки»:

  • В Liberty у вас есть два или более элемента, объявляющих драйвер JDBC DB2.
  • В полном профиле WebSphere Application Server у вас есть два или более «поставщиков JDBC», в которых используется драйвер JDBC DB2.

Исправление состоит в том, чтобы использовать только один элемент или один поставщик JDBC.