WebLogic服务器有一个奇怪的问题:在创建多个资源(JMS队列、DB池等)时,我丢失了最后一个创建的项。
-
WebLogic服务器版本:12.2.1.4.0
-
系统:Oracle Linux Server 7.8(在Docker中)
-
Java:Java版本“1.8.0ç”,Java(TM)SE运行时环境
(build 1.8.0çu 231-b11),Java HotSpot(TM)64位服务器虚拟机(build
25.231-b11,混合模式)
-
我执行的步骤:
-
登录到Docker容器。
-
启动WebLogic管理服务器
./startWebLogic.sh
命令
-
-
使用停止服务器
./stopWebLogic.sh weblogic weblogic12 t3://localhost:7001
命令
-
-
我以前所做的一切改变都完全失去了
-
如果我在停止服务器之前(在上面的步骤3之后)从控制台创建一个虚拟资源(不管是什么,一个池、一个持久存储、一个JMS等等),那么我只会丢失最后一个虚拟项,其余的用WLST创建的都会保留。
-
如果我从控制台创建了2个资源(不管是什么),那么我总是会丢失最后一项。
-
如果我在重启2后从控制台创建3something,3rt就会丢失。
-
似乎WebLogic不知何故忘记了“提交”最后一项。
当我检查
config.xml
在WL重新启动之前,我可以在那里看到我需要的东西。重新启动后,WL会以某种方式将此文件恢复为预览状态(没有我的最后一项),并且文件大小刚刚更改。
production mode
那么一切都是一样的,我看不出有什么不同。
我认为这个问题与Docker无关,因为我没有使用任何Docker卷。以及我在
配置.xml
这是WL窃听器吗?你见过同样的吗?
我上面使用的docker图像是从另一个docker容器中创建的
docker commit
---------------
¦ Oracle Linux¦
---------------
¦
------------------
¦WL with deployed¦ <- docker commit ....
¦ shared libs ¦ this issue does not appear at this level
------------------
¦
------------------
¦Image what I use¦ <- lose changes between docker stop and start
------------------
所以这似乎是一个Docker bug或者两者兼而有之:Oracle和Docker。