glassfish
  1. glassfish
  2. GLASSFISH-20418

xJCL invalid per schema, see SysOut for now for details

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 4.0_b87_RC3
    • Fix Version/s: 4.0_b88_RC4
    • Component/s: batch
    • Labels:
      None
    • Environment:

      Win7 Jdk7

      Description

      If I have a invalid job.xml I get the following exception which I find is not very helpful at all.
      Is there any chance to improve this for the developers?

      At least a hint what exactly went wrong would be a good idea ...

      Caused by: java.lang.IllegalArgumentException: xJCL invalid per schema, see SysOut for now for details
      at com.ibm.jbatch.container.jsl.impl.JobModelResolverImpl.unmarshalJobXML(JobModelResolverImpl.java:73)
      at com.ibm.jbatch.container.jsl.impl.JobModelResolverImpl.access$000(JobModelResolverImpl.java:45)
      at com.ibm.jbatch.container.jsl.impl.JobModelResolverImpl$1.run(JobModelResolverImpl.java:127)
      at com.ibm.jbatch.container.jsl.impl.JobModelResolverImpl$1.run(JobModelResolverImpl.java:125)
      at java.security.AccessController.doPrivileged(Native Method)
      at com.ibm.jbatch.container.jsl.impl.JobModelResolverImpl.resolveModel(JobModelResolverImpl.java:123)
      at com.ibm.jbatch.container.jsl.impl.JobModelResolverImpl.resolveModel(JobModelResolverImpl.java:45)
      at com.ibm.jbatch.container.jobinstance.JobExecutionHelper.startJob(JobExecutionHelper.java:114)
      at com.ibm.jbatch.container.impl.BatchKernelImpl.startJob(BatchKernelImpl.java:120)
      at com.ibm.jbatch.container.api.impl.JobOperatorImpl.start(JobOperatorImpl.java:105)
      at net.eisele.glassfish.jbatchexample.sb.SalesBean.runJob(SalesBean.java:45)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:601)
      at org.glassfish.ejb.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1081)
      at org.glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:1153)
      at com.sun.ejb.containers.BaseContainer.invokeBeanMethod(BaseContainer.java:4695)
      at com.sun.ejb.EjbInvocation.invokeBeanMethod(EjbInvocation.java:630)
      at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822)
      at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:582)
      at org.jboss.weld.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:46)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:601)
      at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:883)
      at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822)
      at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:582)
      at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.doCall(SystemInterceptorProxy.java:163)
      at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.aroundInvoke(SystemInterceptorProxy.java:140)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:601)
      at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:883)
      at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822)
      at com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:369)
      at com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:4667)
      at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:4655)
      at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:212)
      ... 61 more

        Activity

        Hide
        ScottKurz added a comment -

        The SAXParseException you'd get is a good clue to start. We should just change to a Logger warning() message rather than writing to SysOut (which I don't even understand the handling of). Will make that change at next opportunity to ship a fix.

        Show
        ScottKurz added a comment - The SAXParseException you'd get is a good clue to start. We should just change to a Logger warning() message rather than writing to SysOut (which I don't even understand the handling of). Will make that change at next opportunity to ship a fix.
        Hide
        Mahesh Kannan added a comment -

        Assigning to Scott

        Show
        Mahesh Kannan added a comment - Assigning to Scott
        Hide
        Mahesh Kannan added a comment -

        Scott, I assume that the this is a very low risk fix.

        Show
        Mahesh Kannan added a comment - Scott, I assume that the this is a very low risk fix.
        Hide
        ScottKurz added a comment -

        It is low risk. It shouldn't impact any runtime logic... we just had the validation handler code doing: System.out.println() that I can change to do a logger.warning().

        Show
        ScottKurz added a comment - It is low risk. It shouldn't impact any runtime logic... we just had the validation handler code doing: System.out.println() that I can change to do a logger.warning().
        Hide
        ScottKurz added a comment -

        In case it helps let me show what the message will look like in the server log.

        We're using:

        http://docs.oracle.com/javaee/5/api/javax/xml/bind/ValidationEventHandler.html

        and the server log entry will look something like this:

        LINKED EXC: org.xml.sax.SAXParseException: cvc-complex-type.2.4.a: Invalid content was found starting with element 'listeners'. One of '

        {"http://xmlns.jcp.org/xml/ns/javaee":reader}

        ' is expected.
        LOCATOR INFO:
        ------------
        COLUMN NUMBER: 14
        LINE NUMBER: 23
        OFFSET: -1
        CLASS: class javax.xml.bind.helpers.ValidationEventLocatorImpl
        NODE: null
        OBJECT: null
        URL: null|#]

        [#|2013-05-03T16:56:36.614-0400|WARNING|glassfish 4.0|com.ibm.jbatch.jsl.util.JSLValidationEventHandler|_ThreadID=27;_ThreadName=http-listener-1(4);_TimeMillis= 1367614596614;_LevelValue=900;|
        JSL invalid per XSD, details:
        MESSAGE: unexpected element (uri:"http://xmlns.jcp.org/xml/ns/javaee", local:"listeners"). Expected elements are <

        {http://xmlns.jcp.org/xml/ns/javaee}

        skippable-exception-classes>,<

        {http://xmlns.jcp.org/xml/ns/javaee}

        no-rollback-exception-classes>,<

        {http://xmlns.jcp.org/xml/ns/javaee}

        retryable-exception-classes>,<

        {http://xmlns.jcp.org/xml/ns/javaee}

        reader>,

        {http://xmlns.jcp.org/xml/ns/javaee}

        checkpoint-algorithm>,<

        {http://xmlns.jcp.org/xml/ns/javaee}

        processor>,<

        {http://xmlns.jcp.org/xml/ns/javaee}

        writer>

        Show
        ScottKurz added a comment - In case it helps let me show what the message will look like in the server log. We're using: http://docs.oracle.com/javaee/5/api/javax/xml/bind/ValidationEventHandler.html and the server log entry will look something like this: LINKED EXC: org.xml.sax.SAXParseException: cvc-complex-type.2.4.a: Invalid content was found starting with element 'listeners'. One of ' {"http://xmlns.jcp.org/xml/ns/javaee":reader} ' is expected. LOCATOR INFO: ------------ COLUMN NUMBER: 14 LINE NUMBER: 23 OFFSET: -1 CLASS: class javax.xml.bind.helpers.ValidationEventLocatorImpl NODE: null OBJECT: null URL: null|#] [#|2013-05-03T16:56:36.614-0400|WARNING|glassfish 4.0|com.ibm.jbatch.jsl.util.JSLValidationEventHandler|_ThreadID=27;_ThreadName=http-listener-1(4);_TimeMillis= 1367614596614;_LevelValue=900;| JSL invalid per XSD, details: MESSAGE: unexpected element (uri:"http://xmlns.jcp.org/xml/ns/javaee", local:"listeners"). Expected elements are < {http://xmlns.jcp.org/xml/ns/javaee} skippable-exception-classes>,< {http://xmlns.jcp.org/xml/ns/javaee} no-rollback-exception-classes>,< {http://xmlns.jcp.org/xml/ns/javaee} retryable-exception-classes>,< {http://xmlns.jcp.org/xml/ns/javaee} reader>, {http://xmlns.jcp.org/xml/ns/javaee} checkpoint-algorithm>,< {http://xmlns.jcp.org/xml/ns/javaee} processor>,< {http://xmlns.jcp.org/xml/ns/javaee} writer>
        Hide
        myfear added a comment -

        That looks good to me! Thanks!

        Show
        myfear added a comment - That looks good to me! Thanks!
        Hide
        Mahesh Kannan added a comment -
        • What is the impact on the customer of the bug?
          User may not get a clear idea about what went wrong / where the error is in a job xml
        • What is the cost/risk of fixing the bug?
          Very, Very low, and in fact has already been fixed in b29 itself.
          Doesn't affect CTS tests at all. I have run the batch devtests as well.
        • Is there an impact on documentation or message strings?
          No.
        • Which tests should QA (re)run to verify the fix did not destabilize GlassFish?
          Batch QE tests
        • Which is the targeted build of 4.0 for this fix?
          88.
        • If this an integration of a new version of a component from another project,
          What are the changes that are being brought in?
          NA
        Show
        Mahesh Kannan added a comment - What is the impact on the customer of the bug? User may not get a clear idea about what went wrong / where the error is in a job xml What is the cost/risk of fixing the bug? Very, Very low, and in fact has already been fixed in b29 itself. Doesn't affect CTS tests at all. I have run the batch devtests as well. Is there an impact on documentation or message strings? No. Which tests should QA (re)run to verify the fix did not destabilize GlassFish? Batch QE tests Which is the targeted build of 4.0 for this fix? 88. If this an integration of a new version of a component from another project, What are the changes that are being brought in? NA
        Hide
        Tom Mueller added a comment -

        Approved for 4.0.

        Show
        Tom Mueller added a comment - Approved for 4.0.
        Hide
        Mahesh Kannan added a comment -

        The issue was fixed when we integrated b29 jars. Here are the commit messages for b29 integration

        Integrate b29 jars:

        ============================

        Branch commit info:

        svn commit -m "Fix for 20440. QL Passed. Batch devtests passed. Approved by Michael" pom.xml
        Sending pom.xml
        Transmitting file data .
        Committed revision 61832.

        =============================

        Trunk commit info:

        svn commit -m "Fix for 20440. QL Passed. Batch devtests passed. Approved by Michael" pom.xml
        Sending pom.xml
        Transmitting file data .
        Committed revision 61833.

        ==============================

        Show
        Mahesh Kannan added a comment - The issue was fixed when we integrated b29 jars. Here are the commit messages for b29 integration Integrate b29 jars: ============================ Branch commit info: svn commit -m "Fix for 20440. QL Passed. Batch devtests passed. Approved by Michael" pom.xml Sending pom.xml Transmitting file data . Committed revision 61832. ============================= Trunk commit info: svn commit -m "Fix for 20440. QL Passed. Batch devtests passed. Approved by Michael" pom.xml Sending pom.xml Transmitting file data . Committed revision 61833. ==============================

          People

          • Assignee:
            ScottKurz
            Reporter:
            myfear
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: