WebLogic Portal VCR与JSR-170存储库的IllegalMonitorStateException连接(WebLogic Portal VCR IllegalMonitorStateException connection to JSR-170 Repository)
我们最近从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的输入似乎激活存储库以使其联机(尽管这不稳定或不需要)。
请指教,如果WebLogic中存在错误(似乎它试图解锁()ReadLock太多次,导致提到的异常 - 如果它在该异常上完全失败??,是否应该在之前检查锁定计数解锁?),或者如果你做错了什么? 我可以读到10.0.5的eclipse工具中存在一个关于这个错误的已知错误。
此外,我们在9.2.3中似乎没有任何问题,10.3.5中有什么变化?
We have recently upgraded from WebLogic Portal 9.2.3 to 10.3.5. We have a JackRabbit repository connected through the Day Software JSR-170 VCR-JCR provider. This has all worked perfectly fine on 9.2.3, but on 10.3.5 we are getting a IllegalMonitorStateException when we try to retrieve content. We have out own facade on top of JackRabbit, that implements the JCR-170. Here is the debug out from the server:
[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)
It seems that authenticationn fails, but if I try to set a break-point in the login methods in the repository (our Facade, which doesn't do any authentication challenge, but just wraps JackRabbit, and logs in the same user - "default" - for all access), we are never getting called. Setting the username and password on the Manage Repositories page, doesn't seem to have any effect. If I on the other hand go to Portal Administration Console, and try to manage or browse the repository, everything works fine, and the login methods are actually called, and the server connects fine to the repository. This seems very strange. In cetain cases (that happens to happen randomly, we can get the server to all of a sudden get to the repository, but on restart of the server, it is again back to failing).
I've tried to set username/password for the repository to the weblogic user, but that doesn't seem to have any effect, I still get the error. Furthermore when I've been into the PAC, and logs out, closes the browser, reopen the browser or a completely different browser, the entering of PAC seems to activate the repository to become online (though this is not stable or desired).
Please advice, if there is a bug in WebLogic (it seems it tries to unlock() the ReadLock too many times, resulting in the mentioned exception - should it at all fail on that exception??, Should the lock-count be checked before unlocking?), or if w are doing anything wrong? I can read that there is a known bug in the eclipse tooling for 10.3.5 about exactly this error.
Furthermore, we didn't seem to have any trouble in 9.2.3, what changed in 10.3.5?
原文:https://stackoverflow.com/questions/12847573
满意答案
我这样做:
In [184]: ['a','b','c'] + df.apply(lambda x: pd.factorize(x)[0]).astype(str) Out[184]: col1 col2 col3 0 a0 b0 c0 1 a1 b1 c1 2 a2 b2 c2 3 a0 b0 c0 4 a2 b2 c1
更通用的方法:
import string c = list(string.ascii_lowercase)[:len(df.columns)] df1 = c + df.apply(lambda x: pd.factorize(x)[0]).astype(str) df1 col1 col2 col3 0 a0 b0 c0 1 a1 b1 c1 2 a2 b2 c2 3 a0 b0 c0 4 a2 b2 c1
I'd do it this way:
In [184]: ['a','b','c'] + df.apply(lambda x: pd.factorize(x)[0]).astype(str) Out[184]: col1 col2 col3 0 a0 b0 c0 1 a1 b1 c1 2 a2 b2 c2 3 a0 b0 c0 4 a2 b2 c1
a bit more generic approach:
import string c = list(string.ascii_lowercase)[:len(df.columns)] df1 = c + df.apply(lambda x: pd.factorize(x)[0]).astype(str) df1 col1 col2 col3 0 a0 b0 c0 1 a1 b1 c1 2 a2 b2 c2 3 a0 b0 c0 4 a2 b2 c1
相关问答
更多如何使用Pandas数据帧中的列值替换单元格中的索引值(How to replace indices values in a cell with the column value in a Pandas dataframe)
在Pandas数据框中查找唯一的值,而不管行或列的位置(Find unique values in a Pandas dataframe, irrespective of row or column location)
使用Pandas替换数据帧列中的特定值(Replace specific values in a dataframe column using Pandas)
将DataFrame列中的唯一值替换为其count [duplicate](Replace the unique values in a DataFrame column with their count [duplicate])
计算跨多个列的pandas数据帧中唯一值的出现(Count occurance of unique values in a pandas dataframe across multiple columns)
为pandas数据帧的每个id替换列中序列的缺失值(Replace missing values of a sequence in a column for each id of pandas dataframe)
替换数据框中特定列中的唯一值(Replace unique values in specific columns in a dataframe)
替换pandas多索引数据框中的列值(Replace column values in pandas multiindexed dataframe)
Pandas:用唯一值替换多个列值(Pandas: Replace multiple column values by unique value)
Pandas数据帧替换列中的唯一值(Pandas dataframe replace unique values in a column)
相关文章
更多weblogic启动server错误
weblogic与websphere的区别
TUXEDO与WEBLOGIC通过WTC进行互连的配置
session 传递的问题(在 tomcat和weblogic之间)
myEclipse8.5 New DataBase Connection Driver时出错
There is already an open DataReader associated with this Connection which must be closed first
Hadoop master connection reset by peer resolution
Spring四种注解(@Component、@Repository、@Service、@Controller)的区别-java cms开发五
The connection to adb is down, and a severe error has occured.
最新问答
更多您如何使用git diff文件,并将其应用于同一存储库的副本的本地分支?(How do you take a git diff file, and apply it to a local branch that is a copy of the same repository?)
将长浮点值剪切为2个小数点并复制到字符数组(Cut Long Float Value to 2 decimal points and copy to Character Array)
OctoberCMS侧边栏不呈现(OctoberCMS Sidebar not rendering)
页面加载后对象是否有资格进行垃圾回收?(Are objects eligible for garbage collection after the page loads?)
codeigniter中的语言不能按预期工作(language in codeigniter doesn' t work as expected)
在计算机拍照在哪里进入
使用cin.get()从c ++中的输入流中丢弃不需要的字符(Using cin.get() to discard unwanted characters from the input stream in c++)
No for循环将在for循环中运行。(No for loop will run inside for loop. Testing for primes)
单页应用程序:页面重新加载(Single Page Application: page reload)
在循环中选择具有相似模式的列名称(Selecting Column Name With Similar Pattern in a Loop)
Copyright ©2023 peixunduo.com All Rights Reserved.粤ICP备14003112号
本站部分内容来源于互联网,仅供学习和参考使用,请莫用于商业用途。如有侵犯你的版权,请联系我们(neng862121861#163.com),本站将尽快处理。谢谢合作!