java - WebLogic 部署成功但出现错误
问题描述
我们正在将在 java 6 上运行的 WebLogic 10 升级到在 java 8 上运行的 WebLogic 12C。
最初我无法在 WebLogic 12C 上部署我的应用程序。我想,使用以下命令,我应该更新“WEB_APPLICATION”.ear 文件中的几个ejb-jar.xml文件以克服验证错误。
java weblogic.DDConverter -d 。“WEB_APPLICATION”.ear
准确地说,我已经更新了所有“消息驱动目标”标签以兼容新版本的 java 和 WebLogic。例如,我的ejb-jar.xml文件之一如下所示
<?xml version="1.0" encoding="UTF-8"?>
<ejb-jar xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="3.2">
<display-name>CacheNotificationsMDBeanModule</display-name>
<enterprise-beans>
<message-driven>
<description>Message driven bean for cache notifications</description>
<display-name>CacheNotificationsMDB</display-name>
<ejb-name>CacheNotificationsMDB</ejb-name>
<ejb-class>com.cache.CacheNotificationsMDB</ejb-class>
<transaction-type>Bean</transaction-type>
<activation-config>
<activation-config-property>
<activation-config-property-name>destinationType</activation-config-property-name>
<activation-config-property-value>javax.jms.Topic</activation-config-property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>subscription-durability</activation-config-property-name>
<activation-config-property-value>NonDurable</activation-config-property-value>
</activation-config-property>
</activation-config>
</message-driven>
</enterprise-beans>
<assembly-descriptor>
<container-transaction>
<method>
<ejb-name>CacheNotificationsMDB</ejb-name>
<method-name>*</method-name>
</method>
<trans-attribute>NotSupported</trans-attribute>
</container-transaction>
</assembly-descriptor>
</ejb-jar>
虽然我现在可以部署我的应用程序,但我收到以下消息和错误。
<**********> <******> <[ACTIVE] ExecuteThread: '19' for queue: 'weblogic.kernel.Default (self-tuning)'> <> <> < 37954930-b27e-4d11-86e2-87dc139d7fda-00000012> <1535573307036> <[severity-value: 16] [rid: 0] [partition-id: 0] [partition-name: DOMAIN] > , EJBComponent: common-utils- mdbs.jar) 配置了未知的激活配置属性名称订阅耐久性>
<**********> <******> <[STANDBY] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <> <37954930- b27e-4d11-86e2-87dc139d7fda-00000007> <1535573336247> <[severity-value: 16] [rid: 0] [partition-id: 0] [partition-name: DOMAIN] > /kuy712/war/WEB-INF/ validation.xml,不符合 JSR 303 规范。>
<**********> <******> <[STANDBY] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <> <37954930- b27e-4d11-86e2-87dc139d7fda-00000007> <1535573336243> <[severity-value: 32] [rid: 0] [partition-id: 0] [partition-name: DOMAIN] >
指定目录中的validation.xml文件如下所示
<!DOCTYPE form-validation PUBLIC
"-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1//EN"
"dtds/validator_1_1_3.dtd">
<form-validation>
<!-- Default locale validation -->
<!-- Some of the example validation in the default formset are diabled for now,
but can be enabled and customized as needed
for your default and other formsets formset. Note that http://www.regexlib.com/ may
contain usefull regular expressions to apply to your customization
with the "mask" validator! -->
<formset>
.......
并且validator_1_1_3.dtd文件存在于以下目录中。
/u01/app/oracle/config/domains/Domainlab/servers/********/tmp/_WL_user//kuy712/war/WEB-INF/dtds
我是 weblogic 的新手,不太确定如何解决这个问题。谁能帮帮我?
解决方案
您的 ejb-jar.xml 应该是:
<?xml version="1.0" encoding="UTF-8"?>
<ejb-jar xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="3.2">
<display-name>CacheNotificationsMDBeanModule</display-name>
<enterprise-beans>
<message-driven>
<description>Message driven bean for cache notifications</description>
<display-name>CacheNotificationsMDB</display-name>
<ejb-name>CacheNotificationsMDB</ejb-name>
<ejb-class>com.cache.CacheNotificationsMDB</ejb-class>
<transaction-type>Bean</transaction-type>
<activation-config>
<activation-config-property>
<activation-config-property-name>destinationType</activation-config-property-name>
<activation-config-property-value>javax.jms.Topic</activation-config-property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>subscriptionDurability</activation-config-property-name>
<activation-config-property-value>NonDurable</activation-config-property-value>
</activation-config-property>
</activation-config>
</message-driven>
</enterprise-beans>
<assembly-descriptor>
<container-transaction>
<method>
<ejb-name>CacheNotificationsMDB</ejb-name>
<method-name>*</method-name>
</method>
<trans-attribute>NotSupported</trans-attribute>
</container-transaction>
</assembly-descriptor>
</ejb-jar>
允许的属性名称是:acknowledgeMode、messageSelector、destinationType、subscriptionDurability、destinationLookup、connectionFactoryLookup、subscriptionName 和 clientId。不允许订阅持久性。
推荐阅读
- latex - 如何在乳胶中的某些列上居中表的列名?
- python - 计算公式,其中一行与熊猫中所有其他行的差异之和
- javascript - 使用 useEffect 响应登录验证
- css - 如何为使用自定义 SVG 形状遮罩的图像添加嵌入阴影?
- docker - Docker 卷对不同图像的行为不同
- java - EJB 远程 JNDI 查找不适用于托管在 aws ec2 上的 glassfish4 服务器
- reactjs - 为什么我们不为 npm start 提及像 node app.js 这样的文件名?
- python - Tensorflow:初始化连接张量的正确方法?
- html - Can't put a form in multiple divs
- javascript - 如何使用 Hooks 更改父组件中子组件数组的状态?