Uploaded image for project: 'WildFly'
  1. WildFly
  2. WFLY-11996

A singleton can not add a init-method via ejb-jar.xml descriptor because it fail with Parser Exception

    XMLWordPrintable

Details

    • Bug
    • Resolution: Not a Bug
    • Major
    • None
    • 17.0.0.Alpha1
    • EJB
    • None
    • Hide

      Create a POJO without annotation and add the declaration as ejb-jar.xml as shown above.
      The example will work if the <init-method> is removed and the class will have a @PostConstruct annotation instead.

      Show
      Create a POJO without annotation and add the declaration as ejb-jar.xml as shown above. The example will work if the <init-method> is removed and the class will have a @PostConstruct annotation instead.

    Description

      If a Singelton EJB should be created without annotation and use ejb-jar.xml to declare it this will work for mostly all but not for init-method element.

      The class is a POJO without annotations, the ejb-jar.xml looks like followed
      ------
      <ejb-jar xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_2.xsd" version="3.2">
      <enterprise-beans>
      <session>
      <ejb-name>StartupSingletonBean</ejb-name>
      <display-name>JBossInit</display-name>
      <description>JBoss startup class</description>
      <ejb-class>org.jboss.wfink.ejb31.singleton.StartupSingletonBean</ejb-class>
      <session-type>Singleton</session-type>
      <init-on-startup>true</init-on-startup>
      <init-method>test23</init-method>
      — > this is where the Exception row/col point to
      <env-entry>
      <description>an example for a environment value</description>
      <env-entry-name>myString</env-entry-name>
      <env-entry-type>java.lang.String</env-entry-type>
      <env-entry-value>MyString from the ejb-jar.xml </env-entry-value>
      </env-entry>
      </session>
      </enterprise-beans>
      .....
      --------

      The Exception is this:
      15:27:29,450 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-3) MSC000001: Failed to start service jboss.deployment.subunit."simpleEJB31.ear"."ejb.jar".PARSE: org.jboss.msc.service.StartException in service jboss.deployment.subunit."simpleEJB31.ear"."ejb.jar".PARSE: WFLYSRV0153: Failed to process phase PARSE of subdeployment "ejb.jar" of deployment "simpleEJB31.ear"
      at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:183)
      at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1738)
      at org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1700)
      at org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1558)
      at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
      at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1982)
      at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
      at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
      at java.lang.Thread.run(Thread.java:748)
      Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: WFLYEJB0085: Exception while parsing ejb-jar.xml: /content/simpleEJB31.ear/ejb.jar/META-INF/ejb-jar.xml
      at org.jboss.as.ejb3.deployment.processors.EjbJarParsingDeploymentUnitProcessor.parseEjbJarXml(EjbJarParsingDeploymentUnitProcessor.java:275)
      at org.jboss.as.ejb3.deployment.processors.EjbJarParsingDeploymentUnitProcessor.deploy(EjbJarParsingDeploymentUnitProcessor.java:126)
      at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:176)
      ... 8 more
      Caused by: com.ctc.wstx.exc.WstxParsingException: Received non-all-whitespace CHARACTERS or CDATA event in nextTag().
      at [row,col

      {unknown-source}

      ]: [18,25]
      at com.ctc.wstx.sr.StreamScanner.constructWfcException(StreamScanner.java:621)
      at com.ctc.wstx.sr.StreamScanner.throwParseError(StreamScanner.java:491)
      at com.ctc.wstx.sr.StreamScanner.throwParseError(StreamScanner.java:475)
      at com.ctc.wstx.sr.BasicStreamReader.nextTag(BasicStreamReader.java:1224)
      at org.jboss.metadata.ejb.parser.spec.AbstractMetaDataParser.processElements(AbstractMetaDataParser.java:64)
      at org.jboss.metadata.ejb.parser.spec.InitMethodMetaDataParser.parse(InitMethodMetaDataParser.java:55)
      at org.jboss.metadata.ejb.parser.spec.SessionBean30MetaDataParser.processElement(SessionBean30MetaDataParser.java:104)
      at org.jboss.metadata.ejb.parser.spec.SessionBean31MetaDataParser.processElement(SessionBean31MetaDataParser.java:143)
      at org.jboss.metadata.ejb.parser.spec.SessionBean32MetaDataParser.processElement(SessionBean32MetaDataParser.java:54)
      at org.jboss.metadata.ejb.parser.spec.SessionBean32MetaDataParser.processElement(SessionBean32MetaDataParser.java:36)
      at org.jboss.metadata.ejb.parser.spec.AbstractMetaDataParser.processElements(AbstractMetaDataParser.java:65)
      at org.jboss.metadata.ejb.parser.spec.SessionBeanMetaDataParser.parse(SessionBeanMetaDataParser.java:81)
      at org.jboss.metadata.ejb.parser.spec.EnterpriseBeansMetaDataParser.processElement(EnterpriseBeansMetaDataParser.java:87)
      at org.jboss.metadata.ejb.parser.spec.EnterpriseBeansMetaDataParser.processElement(EnterpriseBeansMetaDataParser.java:39)
      at org.jboss.metadata.ejb.parser.spec.AbstractMetaDataParser.processElements(AbstractMetaDataParser.java:65)
      at org.jboss.metadata.ejb.parser.spec.EnterpriseBeansMetaDataParser.parse(EnterpriseBeansMetaDataParser.java:72)
      at org.jboss.metadata.ejb.parser.spec.EnterpriseBeansMetaDataParser.parse(EnterpriseBeansMetaDataParser.java:65)
      at org.jboss.metadata.ejb.parser.spec.AbstractEjbJarMetaDataParser.processElement(AbstractEjbJarMetaDataParser.java:98)
      at org.jboss.metadata.ejb.parser.spec.AbstractEjbJarMetaDataParser.processElement(AbstractEjbJarMetaDataParser.java:43)
      at org.jboss.metadata.ejb.parser.spec.AbstractMetaDataParser.processElements(AbstractMetaDataParser.java:65)
      at org.jboss.metadata.ejb.parser.spec.EjbJarMetaDataParser.parseDocument(EjbJarMetaDataParser.java:101)
      at org.jboss.metadata.ejb.parser.spec.EjbJarMetaDataParser.parse(EjbJarMetaDataParser.java:51)
      at org.jboss.as.ejb3.deployment.processors.EjbJarParsingDeploymentUnitProcessor.parseEjbJarXml(EjbJarParsingDeploymentUnitProcessor.java:272)
      ... 10 more

      Attachments

        Issue Links

          Activity

            People

              cfang@redhat.com Cheng Fang
              rhn-support-wfink Wolf Fink
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: