【问题标题】:WebLogic deployment succeed with errorsWebLogic 部署成功但出现错误
【发布时间】:2019-02-05 13:54:47
【问题描述】:

我们正在将在 java 6 上运行的 WebLogic 10 升级到在 java 8 上运行的 WebLogic 12C。

最初我无法在 WebLogic 12C 上部署我的应用程序。我想,使用以下命令,我应该更新“WEB_APPLICATION”.ear 文件中的几个 ejb-jar.xml 文件以克服验证错误。

java weblogic.DDConverter -d 。 “WEB_APPLICATION”.ear

准确地说,我已经更新了所有的“message-driven-destination”标签以兼容新版本的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>

虽然我现在可以部署我的应用程序,但我收到以下消息和错误。

,EJB组件: common-utils-mdbs.jar) 配置为未知 激活配置属性名称订阅持久性>

/kuy712/war/WEB-INF/validation.xml,不符合JSR 303规范。>

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 的新手,不太确定如何解决此问题。谁能帮帮我?

【问题讨论】:

    标签: java weblogic12c bean-validation dtd


    【解决方案1】:

    你的 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。不允许订阅持久性。

    【讨论】:

    • 谢谢撒克逊人!它解决了我的一个问题。尽管如此,仍然与许多其他人苦苦挣扎。
    猜你喜欢
    • 2023-03-04
    • 2020-05-14
    • 1970-01-01
    • 1970-01-01
    • 2013-02-22
    • 1970-01-01
    • 1970-01-01
    • 2021-10-18
    • 1970-01-01
    相关资源
    最近更新 更多