WebLogic Portal VCR与JSR-170存储库的IllegalMonitorStateException连接

时间:2012-10-11 20:02:27

标签: weblogic portal jackrabbit

我们最近从WebLogic Portal 9.2.3升级到10.3.5。我们有一个通过Day Software JSR-170 VCR-JCR提供商连接的JackRabbit存储库。这一切在9.2.3上完全正常,但在10.3.5我们尝试检索内容时会收到IllegalMonitorStateException。我们在JackRabbit之上有自己的外观,它实现了JCR-170。这是来自服务器的调试:

[com.bea.content.federated.internal.delegate.RepositoryManagerDelegate.initializeSessionState():1215] com.bea.content.federated.internal.delegate.RepositoryManagerDelegate@2b70161: (re)initializing all repo sessions for username: <WLS Kernel>
[com.bea.content.federated.internal.delegate.RepositoryManagerDelegate.initializeSessionState():1215] com.bea.content.federated.internal.delegate.RepositoryManagerDelegate@2bf2311: (re)initializing all repo sessions for username: <WLS Kernel>
[com.bea.content.federated.internal.delegate.RepositoryManagerDelegate.initializeSessionState():1215] com.bea.content.federated.internal.delegate.RepositoryManagerDelegate@2fa5952: (re)initializing all repo sessions for username: <anonymous>
[com.bea.content.federated.internal.delegate.RepositoryManagerDelegate.ensureConnectedToRepository():801] com.bea.content.federated.internal.delegate.RepositoryManagerDelegate@2fa5952: no session found for repoName=indhold; need to connect
[com.bea.content.federated.internal.delegate.RepositoryManagerDelegate.ensureConnectedToRepository():821] com.bea.content.federated.internal.delegate.RepositoryManagerDelegate@2fa5952: connect write lock acquired for repoName=indhold
[com.bea.content.federated.internal.delegate.RepositoryManagerDelegate.connectToRepository():875] com.bea.content.federated.internal.delegate.RepositoryManagerDelegate@2fa5952: connecting to repositoryName= indhold
[com.bea.content.federated.internal.delegate.RepositoryManagerDelegate.getRepositoryClass():1503] invoking Class.forName(repoClassName)
[com.bea.content.federated.internal.delegate.RepositoryManagerDelegate.getRepository():1403] com.bea.content.federated.internal.delegate.RepositoryManagerDelegate@2fa5952: Ticket authentication error for: indhold java.lang.IllegalMonitorStateException
at java.util.concurrent.locks.ReentrantReadWriteLock$Sync.tryReleaseShared(ReentrantReadWriteLock.java:363)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.releaseShared(AbstractQueuedSynchronizer.java:1317)
at java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.unlock(ReentrantReadWriteLock.java:745)
at com.bea.content.federated.internal.delegate.RepositoryManagerDelegate.getRepositoryClass(RepositoryManagerDelegate.java:1537)
at com.bea.content.federated.internal.delegate.RepositoryManagerDelegate.getRepository(RepositoryManagerDelegate.java:1327)
at com.bea.content.federated.internal.delegate.RepositoryManagerDelegate.connectToRepository(RepositoryManagerDelegate.java:893)
at com.bea.content.federated.internal.delegate.RepositoryManagerDelegate.ensureConnectedToRepository(RepositoryManagerDelegate.java:832)
at com.bea.content.federated.internal.delegate.RepositoryManagerDelegate.connect(RepositoryManagerDelegate.java:1160)
at com.bea.content.federated.internal.delegate.RepositoryHelper.checkCapability(RepositoryHelper.java:759)
at com.bea.content.federated.internal.CapabilityManagerImpl.checkRepositoryCapability(CapabilityManagerImpl.java:57)
at com.bea.content.federated.internal.ManagerImplCapabilityHelper.checkCapability(ManagerImplCapabilityHelper.java:80)
at com.bea.content.federated.internal.ManagerImplCapabilityHelper.verifyCapability(ManagerImplCapabilityHelper.java:54)
at com.bea.content.federated.internal.NodeManagerImpl.getNode(NodeManagerImpl.java:432)
at dk.skat.portal.front.helper.ContentHelper.getNode(ContentHelper.java:1591)

似乎authenticationn失败了,但是如果我尝试在存储库中的登录方法中设置一个断点(我们的Facade,它不会执行任何身份验证挑战,只是包装JackRabbit,并登录同一个用户) - “默认” - 对于所有访问权限,我们永远不会被调用。在“管理存储库”页面上设置用户名和密码似乎没有任何效果。 另一方面,如果我转到Portal管理控制台,并尝试管理或浏览存储库,一切正常,实际调用登录方法,服务器可以很好地连接到存储库。 这看起来很奇怪。在cetain案例中(碰巧是随机发生的,我们可以让服务器突然进入存储库,但是在重新启动服务器时,它又会再次失败)。

我尝试将存储库的用户名/密码设置为weblogic用户,但这似乎没有任何影响,我仍然得到错误。 此外,当我进入PAC,注销,关闭浏览器,重新打开浏览器或完全不同的浏览器时,PAC的输入似乎激活存储库以使其联机(尽管这不稳定或不需要)。 / p>

请建议,如果WebLogic中存在错误(似乎它试图解锁()ReadLock的次数太多,导致提到的异常 - 如果它在该异常上都失败了吗?应该锁定计数在解锁前检查?),或者如果做错了什么?我可以读到10.0.5的eclipse工具中存在一个关于这个错误的已知错误。

此外,我们在9.2.3中似乎没有任何问题,10.3.5中有什么变化?

1 个答案:

答案 0 :(得分:0)

有同样的问题,在这里找到解决方案https://forums.oracle.com/forums/thread.jspa?messageID=10984645

简而言之,这是一个产品错误,请求来自Oracle的补丁:

WLP Version: 10.3.5
Patch Name/Patch Number/Bug Number: 14377862
Smart Update Patch ID: HPV8