我正在使用JBoss EAP 7.1发行版进行POC,其中我启用了基于数据库的会话持久性,并且已经使用默认的缓存管理器持久性进行了测试,并且效果很好,但是某种程度上它不会在数据库模式中存储任何会话数据,但是,该表是在服务器启动时创建的(我可以看到),为此,我从Redhat知识库中提供的示例counter.war开始。我正在使用Oracle 12cR1数据库。
还有一件事,当我运行CLI命令读取资源时,我也无法从控制台看到该应用程序。当我尝试在“部署”下查看部署时,它很抱怨
无法加载部署
意外的HTTP响应:500请求{“操作” =>“ read-children-resources”,“地址” =>未定义,“ child-type” =>“部署”,“ include-runtime” => true, “ recursive” => true}响应内部服务器错误{“ outcome” =>“ failed”,“ rolled-back” => true}
standalone-ha.xml中针对jdbc存储的服务器配置如下:
<cache-container name="server" aliases="singleton cluster" default-cache="default" module="org.wildfly.clustering.server">
<transport lock-timeout="60000"/>
<replicated-cache name="default">
<transaction mode="BATCH"/>
</replicated-cache>
</cache-container>
<cache-container name="web" default-cache="jdbc" module="org.wildfly.clustering.web.infinispan">
<transport channel="ee" lock-timeout="60000"/>
<local-cache name="concurrent">
<file-store passivation="true" purge="false"/>
</local-cache>
<invalidation-cache name="jdbc">
<binary-keyed-jdbc-store data-source="Session" dialect="ORACLE" fetch-state="false" passivation="false" preload="false" purge="false" shared="true" singleton="false">
<!-- <transaction mode="BATCH"/>-->
<property name="database-Type">
oracle
</property>
<binary-keyed-table prefix="sess">
<id-column name="ID" type="VARCHAR2(500)"/>
<data-column name="DATUM" type="BINARY"/>
<timestamp-column name="MAXINACTIVE" type="NUMBER"/>
<timestamp-column name="LASTACCESS" type="NUMBER"/>
<timestamp-column name="VERSION" type="NUMBER"/>
</binary-keyed-table>
</binary-keyed-jdbc-store>
</invalidation-cache>
</cache-container>
<cache-container name="ejb" aliases="sfsb" default-cache="dist" module="org.wildfly.clustering.ejb.infinispan">
<transport lock-timeout="60000"/>
<distributed-cache name="dist">
<locking isolation="REPEATABLE_READ"/>
<transaction mode="BATCH"/>
<file-store/>
</distributed-cache>
创建的表也如下:
TNAME
TABTYPE集群
BIN $ cLKr2H7 + eQ3gU1J2QgonwQ == $ 0
表
SESS_counter_war
表
sess_counter_war
表
仅供参考,为了让我满意,我尝试通过更改standalone-ha.xml中的前缀,因此才可以看到两个表。
如果我做错了什么,请指导我。
答案 0 :(得分:1)
这是将近一年之后的回复,但是却被人说“迟到总比不到好”:)
最初遇到错误几天后,我设法成功启动了该应用程序。我意识到配置中存在一些重大问题。基本上,我遇到以下问题:
请参考原始帖子并在此处回答-https://developer.jboss.org/thread/278374
答案 1 :(得分:0)
在EAP 7.1中,您应该使用string-keyed-jdbc-store
配置会话持久性,而不要使用此版本中不推荐使用的binary-keyed-jdbc-store
。