WebSphere Application Server & Liberty

WebSphere Application Server & Liberty

Join this online group to communicate across IBM product users and experts by sharing advice and best practices with peers and staying up to date regarding product enhancements.

 View Only
Expand all | Collapse all

Why is WebSphere Liberty throwing com.ibm.wsspi.channelfw.exception.InvalidChannelFactoryException: ChannelFactory type is null error?

  • 1.  Why is WebSphere Liberty throwing com.ibm.wsspi.channelfw.exception.InvalidChannelFactoryException: ChannelFactory type is null error?

    Posted Fri July 21, 2023 09:11 AM
    Edited by Marcio D'Amico Fri July 21, 2023 09:13 AM

    We are running Liberty 23.0.0.3 and we noticed this ffdc is produced every time we restart our application. Our application does not use JMS and we have not configured any jms features in our server.xml.
    -------
    Exception = com.ibm.wsspi.channelfw.exception.InvalidChannelFactoryException
    Source = CommsOutboundChain.createSecureJFAPChain for chain BootstrapSecureMessaging
    probeid = BootstrapSecureMessaging_JfapJfap
    Stack Dump = com.ibm.wsspi.channelfw.exception.InvalidChannelFactoryException: ChannelFactory type is null
        at com.ibm.ws.channelfw.internal.ChannelFrameworkImpl.getChannelFactoryInternal(ChannelFrameworkImpl.java:788)
        at com.ibm.ws.channelfw.internal.ChannelFrameworkImpl.addChannelInternal(ChannelFrameworkImpl.java:918)
        at com.ibm.ws.channelfw.internal.ChannelFrameworkImpl.addChannel(ChannelFrameworkImpl.java:878)
        at com.ibm.ws.sib.jfapchannel.impl.CommsOutboundChain.createSecureJFAPChain(CommsOutboundChain.java:192)
        at com.ibm.ws.sib.jfapchannel.impl.CommsOutboundChain.bindSecureFacet(CommsOutboundChain.java:116)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:90)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
        at java.lang.reflect.Method.invoke(Method.java:508)
        at org.apache.felix.scr.impl.inject.methods.BaseMethod.invokeMethod(BaseMethod.java:245)
        at org.apache.felix.scr.impl.inject.methods.BaseMethod.access$500(BaseMethod.java:41)
        at org.apache.felix.scr.impl.inject.methods.BaseMethod$Resolved.invoke(BaseMethod.java:687)
        at org.apache.felix.scr.impl.inject.methods.BaseMethod.invoke(BaseMethod.java:531)
        at org.apache.felix.scr.impl.inject.methods.BindMethod.invoke(BindMethod.java:42)
    ...
    Dump of callerThis
    Object type = com.ibm.ws.sib.jfapchannel.impl.CommsOutboundChain
    ==> Performing default dump from com.ibm.ws.sib.utils.ffdc.SibDiagnosticModule  = Thu Jul 20 09:05:11 BST 2023
    SIB FFDC dump for: = com.ibm.wsspi.channelfw.exception.InvalidChannelFactoryException: ChannelFactory type is null
    Platform Messaging :: Messaging engine: =
    SibDiagnosticModule :: Dump of callerThis (DiagnosticModule) = com.ibm.ws.sib.jfapchannel.impl.CommsOutboundChain@afb542ca
    Introspection of callerThis:
    Object type = com.ibm.ws.sib.jfapchannel.impl.CommsOutboundChain
    tc = class com.ibm.websphere.ras.TraceComponent@3b6ef8b0
    nls = class com.ibm.ejs.ras.TraceNLS@e317d01f
    OUTBOUND_CHAIN_CONFIG_ALIAS = "wasJmsOutbound"
    tcpOptions = class com.ibm.wsspi.channelfw.ChannelConfiguration@eb72c2a2
    commsClientService = class com.ibm.ws.sib.jfapchannel.impl.CommsClientServiceFacade@cff7ae3a
    chainName = "BootstrapSecureMessaging"
    tcpChannelName = "BootstrapSecureMessaging_JfapTcp"
    jfapChannelName = "BootstrapSecureMessaging_JfapJfap"
    sslChannelName = "BootstrapSecureMessaging_JfapSsl"
    secureFacet = class com.ibm.ws.sib.jfapchannel.impl.OutboundSecureFacetImpl@cda685be
    isSecureChain = true
    $assertionsDisabled = true
    --------
    Our server.xml has the following features:


    <feature>localConnector-1.0</feature>
    <feature>monitor-1.0</feature>
    <feature>ssl-1.0</feature>
    <feature>appSecurity-1.0</feature>
    <feature>transportSecurity-1.0</feature>
    <feature>javaee-8.0</feature>



    ------------------------------
    Marcio D'Amico
    ------------------------------



  • 2.  RE: Why is WebSphere Liberty throwing com.ibm.wsspi.channelfw.exception.InvalidChannelFactoryException: ChannelFactory type is null error?
    Best Answer

    Posted Fri July 21, 2023 09:21 AM

    There are default jms outbound settings, and the error seen comes from those being reconfigured during shutdown.

     Liberty is designed to allow you to specify what features you are using. You should modify your server config.

    javaee-8.0 is a catch-all feature and includes all of the following:

    • jcaInboundSecurity-1.0
    • webProfile-8.0
    • batch-1.0
    • jms-2.0
    • wasJmsSecurity-1.0
    • concurrent-1.0
    • ejb-3.2
    • appClientSupport-1.0
    • jaxws-2.2
    • jacc-1.5
    • wasJmsClient-2.0
    • javaMail-1.6

    Replace javaee-8.0 with this exact list of features.

    Then remove any you are not using.

    For example, you should remove jms-2.0, wasJmsClient-2.0, and wasJmsSecurity-1.0.

    The FFDC should no longer occur.



    ------------------------------
    GEETA NADELLA
    ------------------------------