Видеомагнитофон WebLogic Portal IllegalMonitorStateException для подключения к репозиторию JSR-170

Недавно мы обновили WebLogic Portal 9.2.3 до 10.3.5. У нас есть хранилище JackRabbit, подключенное через поставщика видеомагнитофона Day Software JSR-170 VCR-JCR. Все это прекрасно работало на 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 завершается неудачно, но если я пытаюсь установить точку останова в методах входа в систему в хранилище (наш Фасад, который не выполняет никаких проверок подлинности, а просто оборачивает JackRabbit и регистрирует того же пользователя - "по умолчанию" " - для любого доступа), мы никогда не звоним. Установка имени пользователя и пароля на странице управления репозиториями, похоже, не имеет никакого эффекта. С другой стороны, если я захожу в консоль администрирования портала и пытаюсь управлять репозиторием или просматривать его, все работает нормально, и методы входа в систему на самом деле вызываются, и сервер нормально подключается к репозиторию. Это кажется очень странным. В некоторых случаях (что происходит случайно, мы можем внезапно получить доступ к хранилищу на сервере, но при перезапуске сервера он снова возвращается к сбою).

Я пытался установить имя пользователя / пароль для хранилища для пользователя weblogic, но, похоже, это не имеет никакого эффекта, но я все равно получаю сообщение об ошибке. Кроме того, когда я был в PAC и выходил из системы, закрывал браузер, снова открывал браузер или совершенно другой браузер, вход в PAC, по-видимому, активировал репозиторий для подключения к сети (хотя это не является стабильным или нежелательным).

Пожалуйста, советуйте, если в WebLogic есть ошибка (кажется, она пытается разблокировать () слишком много раз, ReadLock, приводящий к упомянутому исключению - должен ли он вообще произойти сбой в этом исключении??, Должен ли счетчик блокировок проверяться перед разблокировка?), или если мы делаем что-то не так? Я могу прочитать, что есть известная ошибка в инструменте eclipse для 10.3.5, именно об этой ошибке.

Кроме того, у нас не было никаких проблем в 9.2.3, что изменилось в 10.3.5?

1 ответ

Решение

Была такая же проблема, нашел решение здесь 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
Другие вопросы по тегам