But wait, there's more:

Here's the code in question:
 XMLInputFactory factory;

        try {
            // Woodstox is the only supported and tested StAX implementation
            WstxInputFactory wstxFactory = (WstxInputFactory)
ClassLoaderUtil.loadClass(
                    "com.ctc.wstx.stax.WstxInputFactory").newInstance();
            wstxFactory.configureForSpeed();

            factory = wstxFactory;
        } catch (Exception e) {
            // other StAX implementations may work, too
            factory = XMLInputFactory.newInstance();

            try {
                // for the SJSXP parser
                factory.setProperty("reuse-instance", Boolean.FALSE);
            } catch (IllegalArgumentException ex) {
                // ignore
            }

            LOG.warn("Unsupported StAX parser: " +
factory.getClass().getName() + " (Exception: " + e.toString() + ")",
                    e);
        }

The exception occurs in the try block and then we proceed into the catch
block, where factory = XMLInputFactory.newInstance() kicks in and works!

Guess what StAX parser it loads?  Yep: com.ctc.wstx.stax.WstxInputFactory.
Go figure.  And everything works fine after that.



On Sat, Nov 14, 2015 at 7:57 AM Grant Ingersoll <gsing...@apache.org> wrote:

> I know I must have some conflicting libraries somewhere on my classpath,
> but I'm wondering if anyone else has seen the exception below.  As you can
> see by the message, it is rather perplexing.  My classpath has 2 versions
> of woodstox on it: 4.4.0 (from CMIS) and 4.4.1 from somewhere else.  I am
> suspecting I have some classloader isolation issues (e.g. parent is loading
> one lib, child is loading a diff. one), but I thought I would ask to see if
> anyone else has seen it.
>
> Thanks,
> Grant
>
> 2015-11-14T07:51:26,440 - WARN  [qtp1496724653-21:XMLUtils@74] -
> {collectionId=alf, datasourceId=alf} - Unsupported StAX parser:
> com.ctc.wstx.stax.WstxInputFactory (Exception:
> java.lang.ClassCastException: com.ctc.wstx.stax.WstxInputFactory cannot be
> cast to com.ctc.wstx.stax.WstxInputFactory)
>
> java.lang.ClassCastException: com.ctc.wstx.stax.WstxInputFactory cannot be
> cast to com.ctc.wstx.stax.WstxInputFactory
>
> at
> org.apache.chemistry.opencmis.commons.impl.XMLUtils.<clinit>(XMLUtils.java:58)
> [chemistry-opencmis-commons-impl-0.13.0.jar:0.13.0]
>
> at
> org.apache.chemistry.opencmis.client.bindings.spi.atompub.AtomPubParser.parse(AtomPubParser.java:98)
> [chemistry-opencmis-client-bindings-0.13.0.jar:0.13.0]
>
> at
> org.apache.chemistry.opencmis.client.bindings.spi.atompub.AbstractAtomPubService.parse(AbstractAtomPubService.java:620)
> [chemistry-opencmis-client-bindings-0.13.0.jar:0.13.0]
>
> at
> org.apache.chemistry.opencmis.client.bindings.spi.atompub.AbstractAtomPubService.getRepositoriesInternal(AbstractAtomPubService.java:809)
> [chemistry-opencmis-client-bindings-0.13.0.jar:0.13.0]
>
> at
> org.apache.chemistry.opencmis.client.bindings.spi.atompub.RepositoryServiceImpl.getRepositoryInfos(RepositoryServiceImpl.java:65)
> [chemistry-opencmis-client-bindings-0.13.0.jar:0.13.0]
>
> at
> org.apache.chemistry.opencmis.client.bindings.impl.RepositoryServiceImpl.getRepositoryInfos(RepositoryServiceImpl.java:90)
> [chemistry-opencmis-client-bindings-0.13.0.jar:0.13.0]
>
> at
> org.apache.chemistry.opencmis.client.runtime.SessionFactoryImpl.getRepositories(SessionFactoryImpl.java:135)
> [chemistry-opencmis-client-impl-0.13.0.jar:0.13.0]
>
> at
> org.apache.chemistry.opencmis.client.runtime.SessionFactoryImpl.getRepositories(SessionFactoryImpl.java:112)
> [chemistry-opencmis-client-impl-0.13.0.jar:0.13.0]
>

Reply via email to