I have added the rich text custom control from the book Mastering Xpages 2nd edition to one of my application, but I keep on getting the following:
2016-02-19T15:20:30.546-05:00 SEVERE CLFAD0095E: Format error reading the class mxpd2.component.InputRichText
2016-02-19T15:20:30.547-05:00 WARNING CLFAD0090W: The component-class (mxpd2.component.InputRichText) could not be resolved for the component with component-type com.ibm.xsp.InputRichText.
The application used to be able to compile when I did a "clean" on the project, but now I get the error all the time.
Here is my mxpd2.xsp-config file:
<faces-config>
<faces-config-extension>
<namespace-uri>http://www.ibm.com/xsp/mxpd2</namespace-uri>
<default-prefix>mxpd2</default-prefix>
</faces-config-extension>
<component>
<description>A specialized Rich Text Editor control for Intact Financial Corp</description>
<display-name>Intact Rich Text</display-name>
<component-type>com.ibm.xsp.InputRichText</component-type>
<component-class>mxpd2.component.InputRichText</component-class>
<group-type-ref>com.ibm.xsp.group.core.prop.styleClass</group-type-ref>
<group-type-ref>com.ibm.xsp.group.core.prop.title</group-type-ref>
<group-type-ref>com.ibm.xsp.group.events.prop.onclick</group-type-ref>
<group-type-ref>com.ibm.xsp.group.events.onkey</group-type-ref>
<group-type-ref>com.ibm.xsp.group.focus</group-type-ref>
<group-type-ref>com.ibm.xsp.group.i18n</group-type-ref>
<group-type-ref>com.ibm.xsp.group.input.prop.disabled</group-type-ref>
<group-type-ref>com.ibm.xsp.group.input.prop.onchange</group-type-ref>
<group-type-ref>com.ibm.xsp.group.input.prop.readonly</group-type-ref>
<group-type-ref>com.ibm.xsp.group.outerStyleClass</group-type-ref>
<group-type-ref>com.ibm.xsp.group.filter</group-type-ref>
<group-type-ref>com.ibm.xsp.group.dojoUsage.deprecated</group-type-ref>
<group-type-ref>com.ibm.xsp.group.aria.role</group-type-ref>
<property>
<display-name>CSS Style</display-name>
<property-name>style</property-name>
<property-class>java.lang.String</property-class>
<property-extension>
<pass-through>true</pass-through>
<designer-extension>
<category>styling</category>
<editor>
com.ibm.workplace.designer.property.editors.StylesEditor
</editor>
<styles-excluded>background, font</styles-excluded>
</designer-extension>
</property-extension>
</property>
<component-extension>
<javadoc-description>
<p>Rich Text Control</p>providing rich text editing functionality
</javadoc-description>
<base-component-type>com.ibm.xsp.UIInputRichText</base-component-type>
<renderer-type>com.ibm.xsp.InputRichText</renderer-type>
<tag-name>inputRichText</tag-name>
<designer-extension>
<category>Intact FC</category>
</designer-extension>
</component-extension>
</component>
</faces-config>
It is an almost exact copy of the source code from the book's sample file (Chapter 11b). The java files have been copied into my app(same package), the faces-config.xml shas been modified to the following:
<?xml version="1.0" encoding="UTF-8"?>
<faces-config>
<converter>
<converter-id>InputRichTextConverter</converter-id>
<converter-class>mxpd2.converter.InputRichTextConverter</converter-class>
</converter>
<managed-bean>
<managed-bean-name>rteBean</managed-bean-name>
<managed-bean-class>mxpd2.bean.InputRichTextBean</managed-bean-class>
<managed-bean-scope>view</managed-bean-scope>
<managed-property>
<property-name>debug</property-name>
<value>false</value>
</managed-property>
</managed-bean>
<managed-bean id="Appconfig">
<managed-bean-name>AppConfig</managed-bean-name>
<managed-bean-class>com.intact.xpages.utils.AppConfig</managed-bean-class>
<managed-bean-scope>application</managed-bean-scope>
</managed-bean>
<managed-bean id="SessionConfig">
<managed-bean-name>SessionConfig</managed-bean-name>
<managed-bean-class>com.intact.xpages.utils.SessionConfig</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
<managed-bean>
<managed-bean-name>EmailBeanV2</managed-bean-name>
<managed-bean-class>com.intact.xpages.utils.EmailBeanV2</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
<managed-property>
<property-name>debugMode</property-name>
<value>false</value>
</managed-property>
</managed-bean>
<!-- required for the lang switch
<lifecycle>
<phase-listener>ch.hasselba.xpages.jsf.core.LocalizationSetter</phase-listener>
</lifecycle>
-->
<!--AUTOGEN-START-BUILDER: Automatically generated by IBM Domino Designer. Do not modify.-->
<application>
<locale-config>
<default-locale>fr</default-locale>
<supported-locale>en</supported-locale>
<supported-locale>fr</supported-locale>
</locale-config>
</application>
<!--AUTOGEN-END-BUILDER: End of automatically generated section-->
</faces-config>
I copied everyhting twice to make sure, but still get the error.
In the original file, I don't have any errors in source mode, but when looking in design mode though, I get a warning that the tag mxpd2 is not recognized and the control is yellow instead of blue.
Can somebody pinpoint the issue?
Here is what I found in the trace log:
09:32:37.429 7 SEVERE com.ibm.xsp.registry.parse.ParseUtil
getClassForName CLFAD0095E: Format error reading the class mxpd2.component.InputRichText
java.lang.ClassFormatError: JVMCFRE113 EOF inattendu; classe=mxpd2/component/InputRichText, décalage=0
at java.lang.ClassLoader.defineClassImpl(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at com.ibm.designer.runtime.server.util.DynamicClassLoaderVFS.doDefineClass(Unknown Source)
at com.ibm.designer.runtime.server.util.DynamicClassLoaderVFS.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at com.ibm.designer.runtime.Application.loadClass(Unknown Source)
at com.ibm.xsp.library.ApplicationFacesClassLoader.loadClass(Unknown Source)
at com.ibm.xsp.registry.parse.ParseUtil.getClassForName(Unknown Source)
at com.ibm.xsp.registry.parse.ParseUtil.loadClass(Unknown Source)
at com.ibm.xsp.registry.parse.definition.ComponentParser.getJavaClass(Unknown Source)
at com.ibm.xsp.registry.parse.definition.ComponentParser.createDefinition(Unknown Source)
at com.ibm.xsp.registry.parse.definition.AbstractDefinitionParser.parse(Unknown Source)
at com.ibm.xsp.registry.parse.ConfigParserImpl.createDefinition(Unknown Source)
at com.ibm.xsp.registry.parse.FacesConfigParserImpl.processChildElements(Unknown Source)
at com.ibm.xsp.registry.parse.FacesConfigParserImpl.parse(Unknown Source)
at com.ibm.xsp.registry.parse.ConfigParserImpl.createFacesLibraryFragment(Unknown Source)
at com.ibm.xsp.registry.parse.ConfigParserImpl.createFacesLibraryFragment(Unknown Source)
at com.ibm.xsp.registry.config.ConfigRegisterer.register(Unknown Source)
at com.ibm.xsp.registry.config.ConfigRegisterer.registerProjectConfig(Unknown Source)
at com.ibm.xsp.registry.config.ConfigRegisterer.registerProjectConfig(Unknown Source)
at com.ibm.xsp.library.ConfigFileMaintainerImpl.reloadAllConfigFiles(Unknown Source)
at com.ibm.designer.domino.ide.resources.project.FacesRegistryMaintainer.changedClassFile(Unknown Source)
at com.ibm.designer.domino.ide.resources.project.DesignerProjectSynchronizer.getAffectedDesignerProject(Unknown Source)
at com.ibm.designer.prj.resources.commons.CommonProjectSynchronizer.getAffectedDesignerProject(Unknown Source)
at com.ibm.designer.prj.resources.commons.CommonProjectSynchronizer.getAffectedDesignerProject(Unknown Source)
at com.ibm.designer.prj.resources.commons.CommonProjectSynchronizer.getAffectedDesignerProject(Unknown Source)
at com.ibm.designer.prj.resources.commons.CommonProjectSynchronizer.getAffectedDesignerProject(Unknown Source)
at com.ibm.designer.prj.resources.commons.CommonProjectSynchronizer.getAffectedDesignerProject(Unknown Source)
at com.ibm.designer.prj.resources.commons.CommonProjectSynchronizer.getAffectedDesignerProject(Unknown Source)
at com.ibm.designer.prj.resources.commons.CommonProjectSynchronizer.getAffectedDesignerProject(Unknown Source)
at com.ibm.designer.prj.resources.commons.CommonProjectSynchronizer.getAffectedDesignerProject(Unknown Source)
at com.ibm.designer.prj.resources.commons.CommonProjectSynchronizer.getAffectedDesignerProject(Unknown Source)
at com.ibm.designer.prj.resources.commons.CommonProjectSynchronizer.notifyChangedOrAddedDesignerProject(Unknown Source)
at com.ibm.designer.prj.resources.commons.CommonProjectSynchronizer.resourceChanged(Unknown Source)
at org.eclipse.core.internal.events.NotificationManager$2.run(Unknown Source)
at org.eclipse.core.runtime.SafeRunner.run(Unknown Source)
at org.eclipse.core.internal.events.NotificationManager.notify(Unknown Source)
at org.eclipse.core.internal.events.NotificationManager.broadcastChanges(Unknown Source)
at org.eclipse.core.internal.resources.Workspace.broadcastPostChange(Unknown Source)
at org.eclipse.core.internal.resources.Workspace.endOperation(Unknown Source)
at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(Unknown Source)
at org.eclipse.core.internal.jobs.Worker.run(Unknown Source)
09:32:37.430 7 WARNING com.ibm.xsp.registry.parse.definition.ComponentParser
getJavaClass CLFAD0090W: The component-class (mxpd2.component.InputRichText) could not be resolved for the component with component-type com.ibm.xsp.InputRichText.
some things to check:
can you see any relevant errors under help -> support -> show log
help -> support -> show trace
(sorry if not exact I am not at my computer)
some times you will find errors in here related to invalid xsp config
I can't see your Java source for component, but can
you double check the class name under is exact? if you have renamed the package or class name then it won't find it.
is your namespace (mxpd ) included at the top of your xpages source? if it is not referenced at the top, then it won't know to find the component under that namespace.
also I find that sometimes when developed a uicomponent within an NSF, I have to clean 2 times in a row. designer just gets confused sometimes.
edit
from the trace, it looks like your . java file might not be compiled to a .class file properly. when the registry is trying to parse the class file it is getting an unexpected EOF.
try making a small change to the Java file to trigger another build (add a comment or white space)
make sure there are no compilation errors
Related
I have an ordering system in xPages. In the main order form I accept the customer information as document1 and save those fields as fOrderForm (Form). On the same page I have a view control with all the items ordered which are stored as separate documents than the Customer data. I can save these as new documents with no issues. When I go to open one of the orders which would need code to set a viewScope variable to the order number so the view control can display the order items, it gives me the following error. I have Anonymous set at Editor. I'm new to xPages. Can someone shed some light?
com.ibm.xsp.FacesExceptionEx: Could not open the document
com.ibm.xsp.model.domino.DominoDocumentData.doOpenDocument(Unknown Source)
com.ibm.xsp.model.AbstractDocumentDataSource.openDocument(Unknown Source)
com.ibm.xsp.model.AbstractDocumentDataSource.load(Unknown Source)
com.ibm.xsp.model.AbstractDataSource.getDataContainer(Unknown Source)
com.ibm.xsp.model.domino.DominoDocumentData.getDataObject(Unknown Source)
com.ibm.xsp.model.AbstractDataSource.pushData(Unknown Source)
com.ibm.xsp.util.DataPublisher.publishControlData(Unknown Source)
com.ibm.xsp.component.UIViewRootEx.publishControlData(Unknown Source)
com.ibm.xsp.component.UIViewRootEx.initBeforeContents(Unknown Source)
com.ibm.xsp.page.compiled.AbstractCompiledPage.initComponent(Unknown Source)
com.ibm.xsp.page.compiled.AbstractCompiledPage.createTree(Unknown Source)
com.ibm.xsp.page.compiled.AbstractCompiledPage.createViewRoot(Unknown Source)
com.ibm.xsp.application.ViewHandlerExImpl._createViewRoot(Unknown Source)
com.ibm.xsp.application.ViewHandlerExImpl.createViewRoot(Unknown Source)
com.ibm.xsp.application.ViewHandlerExImpl.doCreateView(Unknown Source)
com.ibm.xsp.application.ViewHandlerEx.createView(Unknown Source)
com.ibm.xsp.webapp.FacesServlet.serviceView(Unknown Source)
com.ibm.xsp.webapp.FacesServletEx.serviceView(Unknown Source)
com.ibm.xsp.webapp.FacesServlet.service(Unknown Source)
com.ibm.xsp.webapp.FacesServletEx.service(Unknown Source)
com.ibm.xsp.webapp.DesignerFacesServlet.service(Unknown Source)
com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet(Unknown Source)
com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(Unknown Source)
com.ibm.designer.runtime.domino.adapter.ComponentModule$AdapterInvoker.invokeServlet(Unknown Source)
com.ibm.designer.runtime.domino.adapter.ComponentModule$ServletInvoker.doService(Unknown Source)
com.ibm.designer.runtime.domino.adapter.ComponentModule.doService(Unknown Source)
com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(Unknown Source)
com.ibm.domino.xsp.module.nsf.NSFService.doServiceInternal(Unknown Source)
com.ibm.domino.xsp.module.nsf.NSFService.access$0(Unknown Source)
com.ibm.domino.xsp.module.nsf.NSFService$NsfServiceRequest.call(Unknown Source)
com.ibm.domino.xsp.module.nsf.NSFService$NsfServiceRequest.call(Unknown Source)
java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
java.util.concurrent.FutureTask.run(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
java.lang.Thread.run(Unknown Source)
com.ibm.domino.xsp.module.nsf.NSFService$NsfServiceThread.run(Unknown Source)
NotesException: Invalid universal id
lotus.domino.local.Database.NgetDocumentByUNID(Native Method)
lotus.domino.local.Database.getDocumentByUNID(Unknown Source)
com.ibm.xsp.model.domino.DominoUtils.getDocumentById(Unknown Source)
com.ibm.xsp.model.domino.DominoUtils.getDocumentById(Unknown Source)
com.ibm.xsp.model.domino.DominoDocumentData.doOpenDocument(Unknown Source)
com.ibm.xsp.model.AbstractDocumentDataSource.openDocument(Unknown Source)
com.ibm.xsp.model.AbstractDocumentDataSource.load(Unknown Source)
com.ibm.xsp.model.AbstractDataSource.getDataContainer(Unknown Source)
com.ibm.xsp.model.domino.DominoDocumentData.getDataObject(Unknown Source)
com.ibm.xsp.model.AbstractDataSource.pushData(Unknown Source)
com.ibm.xsp.util.DataPublisher.publishControlData(Unknown Source)
com.ibm.xsp.component.UIViewRootEx.publishControlData(Unknown Source)
com.ibm.xsp.component.UIViewRootEx.initBeforeContents(Unknown Source)
com.ibm.xsp.page.compiled.AbstractCompiledPage.initComponent(Unknown Source)
com.ibm.xsp.page.compiled.AbstractCompiledPage.createTree(Unknown Source)
com.ibm.xsp.page.compiled.AbstractCompiledPage.createViewRoot(Unknown Source)
com.ibm.xsp.application.ViewHandlerExImpl._createViewRoot(Unknown Source)
com.ibm.xsp.application.ViewHandlerExImpl.createViewRoot(Unknown Source)
com.ibm.xsp.application.ViewHandlerExImpl.doCreateView(Unknown Source)
com.ibm.xsp.application.ViewHandlerEx.createView(Unknown Source)
com.ibm.xsp.webapp.FacesServlet.serviceView(Unknown Source)
com.ibm.xsp.webapp.FacesServletEx.serviceView(Unknown Source)
com.ibm.xsp.webapp.FacesServlet.service(Unknown Source)
com.ibm.xsp.webapp.FacesServletEx.service(Unknown Source)
com.ibm.xsp.webapp.DesignerFacesServlet.service(Unknown Source)
com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet(Unknown Source)
com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(Unknown Source)
com.ibm.designer.runtime.domino.adapter.ComponentModule$AdapterInvoker.invokeServlet(Unknown Source)
com.ibm.designer.runtime.domino.adapter.ComponentModule$ServletInvoker.doService(Unknown Source)
com.ibm.designer.runtime.domino.adapter.ComponentModule.doService(Unknown Source)
com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(Unknown Source)
com.ibm.domino.xsp.module.nsf.NSFService.doServiceInternal(Unknown Source)
com.ibm.domino.xsp.module.nsf.NSFService.access$0(Unknown Source)
com.ibm.domino.xsp.module.nsf.NSFService$NsfServiceRequest.call(Unknown Source)
com.ibm.domino.xsp.module.nsf.NSFService$NsfServiceRequest.call(Unknown Source)
java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
java.util.concurrent.FutureTask.run(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
java.lang.Thread.run(Unknown Source)
com.ibm.domino.xsp.module.nsf.NSFService$NsfServiceThread.run(Unknown Source)
viewScope variables can't be used in some dominoDocument datasource properties, for example documentId, if it's attached to the XPage or Custom Control. I covered this in my recent session at IBM Connect and I'll be covering it again at Engage next week.
Move it to a Panel and you'll be fine.
I am new to Spring Integration, currently I am facing one issue with Spring-JMS integration for IBM MQ. Currently only problem with Spring-JMS integration. Below mentioned are the Jar's considered for build. Kindly help me to resolve this issue.
org.springframework.integration-1.0.3.RELEASE.jar
spring-beans-3.0.5.RELEASE.jar
spring-context-3.0.5.RELEASE.jar
spring-core-3.0.5.RELEASE.jar
spring-integration-core-2.0.5.RELEASE.jar
spring-integration-jms-2.0.5.RELEASE.jar
spring-integration-stream-2.0.5.RELEASE.jar
spring-jms-3.0.6.RELEASE.jar
spring-xml-2.0.3.RELEASE.jar
org.springframework.integration-1.0.3.RELEASE.jar
Code Snippet Starts:
<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns="http://www.springframework.org/schema/integration"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:ctx="http://www.springframework.org/schema/context"
xmlns:jms="http://www.springframework.org/schema/integration/jms"
xmlns:stream="http://www.springframework.org/schema/integration/stream"
xmlns:si-xml="http://www.springframework.org/schema/integration/xml"
xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/integration
http://www.springframework.org/schema/integration/spring-integration-2.0.xsd
http://www.springframework.org/schema/integration/jms
http://www.springframework.org/schema/integration/jms/spring-integration-jms-2.0.xsd
http://www.springframework.org/schema/integration/stream
http://www.springframework.org/schema/integration/stream/spring-integration-stream-2.0.xsd
http://www.springframework.org/schema/integration/xml
http://www.springframework.org/schema/integration/xml/spring-integration-xml-2.0.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util.xsd">
<ctx:component-scan base-package="com.iflexsolutions.fcpb"/>
<channel id="InputJMSChannel"/>
<jms:message-driven-channel-adapter id="TestJMSAdapter"
destination="requestQueue" extract-payload="true"
connection-factory="connectionFactory"
channel="InputJMSChannel"
/>
<service-activator id="TestJMSServiceActivator"
input-channel="InputJMSChannel"
output-channel="stdout"
ref="wmXMLTransformerBean"
method="validateAndTransform"/>
<stream:stdout-channel-adapter id="stdout"/>
</beans:beans>
Code Snippet Starts:
Error Details:
Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.integration.jms.ChannelPublishingJmsMessageListener#0': Initialization of bean failed; nested exception is org.springframework.beans.ConversionNotSupportedException: Failed to convert property value of type 'org.springframework.integration.channel.DirectChannel' to required type 'org.springframework.integration.MessageChannel' for property 'requestChannel'; nested exception is java.lang.IllegalStateException: Cannot convert value of type [org.springframework.integration.channel.DirectChannel] to required type [org.springframework.integration.MessageChannel] for property 'requestChannel': no matching editors or conversion strategy found
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:527)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:93)
at com.iflexsolutions.fcpb.mobilebanking.jms.test.LoadApp.main(LoadApp.java:11)
Caused by: org.springframework.beans.ConversionNotSupportedException: Failed to convert property value of type 'org.springframework.integration.channel.DirectChannel' to required type 'org.springframework.integration.MessageChannel' for property 'requestChannel'; nested exception is java.lang.IllegalStateException: Cannot convert value of type [org.springframework.integration.channel.DirectChannel] to required type [org.springframework.integration.MessageChannel] for property 'requestChannel': no matching editors or conversion strategy found
at org.springframework.beans.BeanWrapperImpl.convertIfNecessary(BeanWrapperImpl.java:481)
at org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:518)
at org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:512)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.convertForProperty(AbstractAutowireCapableBeanFactory.java:1371)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1330)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1086)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
... 11 more
Caused by: java.lang.IllegalStateException: Cannot convert value of type [org.springframework.integration.channel.DirectChannel] to required type [org.springframework.integration.MessageChannel] for property 'requestChannel': no matching editors or conversion strategy found
at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:233)
at org.springframework.beans.BeanWrapperImpl.convertIfNecessary(BeanWrapperImpl.java:466)
... 17 more
It looks like you have classpath issues - specifically...
spring-integration-core-2.0.5.RELEASE.jar
org.springframework.integration-1.0.3.RELEASE.jar
1.0.x is not compatible with 2.0.x.
Aside from this mismatch, I would recommend you use the current versions of Spring Framework (4.1.4) and Spring Integration (4.1.2).
We use,
JSF 2.1
RichFaces 4
OmniFaces 1.5.
We are getting the following exception:
java.io.NotSerializableException: org.omnifaces.taghandler.ImportConstants$ConstantsMap
This when using <o:importConstants> and javax.faces.STATE_SAVING_METHOD as client.
Has anyone seen this before? What would be the fix?
Thanks for any assistance in resolving this issue.
The fix is simple, just let org.omnifaces.util.MapWrapper implement Serializable as well. I've committed it and it's available in today's latest 1.8 snapshot. However, the cause is just weird. I didn't expect it to be saved into JSF state as it's an EL expression. So I looked a bit further, just to learn.
For sake of completeness, here's the stacktrace I encountered with Mojarra 2.1.28 on Tomcat 7.0.47 with client side state saving and a <f:event> whereby a constant is being passed as method argument like so:
<o:importConstants type="com.example.Constants" />
<f:event type="preRenderView" listener="#{bean.method(Constants.SOME)}" />
The exception already occurs when just opening the page, no postback was necessary.
java.io.NotSerializableException: org.omnifaces.taghandler.ImportConstants$ConstantsMap
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1181)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347)
at org.apache.el.ValueExpressionLiteral.writeExternal(ValueExpressionLiteral.java:109)
at java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1456)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1427)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1175)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347)
at java.util.HashMap.writeObject(HashMap.java:1100)
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:606)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:988)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1429)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1175)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347)
at org.apache.el.lang.VariableMapperImpl.writeExternal(VariableMapperImpl.java:59)
at java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1456)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1427)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1175)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347)
at org.apache.el.MethodExpressionImpl.writeExternal(MethodExpressionImpl.java:308)
at java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1456)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1427)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1175)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347)
at com.sun.faces.facelets.el.TagMethodExpression.writeExternal(TagMethodExpression.java:152)
at java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1456)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1427)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1175)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1541)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1506)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1429)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1175)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1541)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1506)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1429)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1175)
at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1375)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1171)
at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1375)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1171)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1541)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1506)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1429)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1175)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347)
at java.util.ArrayList.writeObject(ArrayList.java:710)
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:606)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:988)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1429)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1175)
at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1375)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1171)
at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1375)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1171)
at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1375)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1171)
at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1375)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1171)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347)
at java.util.HashMap.writeObject(HashMap.java:1100)
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:606)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:988)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1429)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1175)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347)
at com.sun.faces.renderkit.ClientSideStateHelper.doWriteState(ClientSideStateHelper.java:424)
at com.sun.faces.renderkit.ClientSideStateHelper.writeState(ClientSideStateHelper.java:210)
at com.sun.faces.renderkit.ResponseStateManagerImpl.writeState(ResponseStateManagerImpl.java:122)
at com.sun.faces.application.StateManagerImpl.writeState(StateManagerImpl.java:113)
at com.sun.faces.application.view.WriteBehindStateWriter.flushToWriter(WriteBehindStateWriter.java:225)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:464)
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:125)
at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:286)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:594)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:724)
And riiight .. The ValueExpressionLiteral comes into the picture. Enum values are resolved as EL literals. The ValueExpressionLiteral will serialize the literal value (the evaluated value itself) for state saving instead of the concrete expression #{Constants.SOME}. This makes after all sense, enums are constants anyway.
I am displaying a list of items with links in my xhtml page. When I click my "back to previous page" button from that link, I basically reset the flags in my bean to indicate to the xhtml which page to display, and reload the list of links from my database.
When I click the same link (or any other link for that matter) in this new page, I get this error:
javax.portlet.faces.BridgeException: javax.portlet.faces.BridgeException: javax.faces.FacesException:
Unexpected error restoring state for component with id A8351:j_idt7:j_idt10:j_idt59.
Cause: java.lang.ClassCastException: javax.faces.component.StateHolderSaver cannot be cast to [Ljava.lang.Object;.
at com.liferay.faces.bridge.BridgePhaseActionImpl.execute(BridgePhaseActionImpl.java:105)
at com.liferay.faces.bridge.BridgeImpl.doFacesRequest(BridgeImpl.java:81)
at javax.portlet.faces.GenericFacesPortlet.processAction(GenericFacesPortlet.java:152)
at com.ncs.portalcity.lfe.faces.bridge.FacesPortlet.processAction(FacesPortlet.java:47)
at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:70)
at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:48)
at com.liferay.portal.kernel.servlet.PortletServlet.service(PortletServlet.java:111)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
...
...
Caused by: javax.faces.FacesException: Unexpected error restoring state for component
with id A8351:j_idt7:j_idt10:j_idt59. Cause: java.lang.ClassCastException: javax.faces.component.StateHolderSaver cannot be cast to [Ljava.lang.Object;.
at com.sun.faces.application.view.StateManagementStrategyImpl$2.visit(StateManagementStrategyImpl.java:284)
at com.sun.faces.component.visit.FullVisitContext.invokeVisitCallback(FullVisitContext.java:151)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:1589)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:1600)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:1600)
at javax.faces.component.UIForm.visitTree(UIForm.java:344)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:1600)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:1600)
at com.sun.faces.application.view.StateManagementStrategyImpl.restoreView(StateManagementStrategyImpl.java:263)
at com.sun.faces.application.StateManagerImpl.restoreView(StateManagerImpl.java:188)
at com.sun.faces.application.view.ViewHandlingStrategy.restoreView(ViewHandlingStrategy.java:123)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.restoreView(FaceletViewHandlingStrategy.java:452)
at com.sun.faces.application.view.MultiViewHandler.restoreView(MultiViewHandler.java:148)
at javax.faces.application.ViewHandlerWrapper.restoreView(ViewHandlerWrapper.java:303)
at com.liferay.faces.bridge.application.ViewHandlerImpl.restoreView(ViewHandlerImpl.java:88)
at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:192)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:116)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at com.liferay.faces.bridge.lifecycle.LifecycleWrapper.execute(LifecycleWrapper.java:35)
at com.liferay.faces.bridge.BridgePhaseActionImpl.execute(BridgePhaseActionImpl.java:77)
... 142 more
Caused by: java.lang.ClassCastException: javax.faces.component.StateHolderSaver cannot be cast to [Ljava.lang.Object;
at javax.faces.component.behavior.AjaxBehavior.restoreState(AjaxBehavior.java:459)
at javax.faces.component.UIComponentBase.restoreBehaviors(UIComponentBase.java:2184)
at javax.faces.component.UIComponentBase.restoreBehaviorsState(UIComponentBase.java:2151)
at javax.faces.component.UIComponentBase.restoreState(UIComponentBase.java:1571)
at com.sun.faces.application.view.StateManagementStrategyImpl$2.visit(StateManagementStrategyImpl.java:276)
... 162 more
If I refresh the page and try again, there are no issues. Does anyone have any idea what I'm doing wrong?
---- Edit ----
Just in case anyone else using liferay has this problem, I just added these lines in my pom.xml and it's ok now :) Thanks so much BaluC!
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-api</artifactId>
<version>2.1.21</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-impl</artifactId>
<version>2.1.21</version>
<scope>compile</scope>
</dependency>
This is a known Mojarra issue and already reported as issue 2041 which is fixed in Mojarra 2.1.12.
So, just upgrading your JSF libraries to at least Mojarra 2.1.12 should do. It's currently already at 2.1.26, with many more fixes related to state management and likes as compared to 2.1.12.
I've been trying to create an own component to "replace" the Richfaces spacer, which is no longer available in Richfaces 4.
I have found this link for the actual implementation: https://community.jboss.org/wiki/SpacerImplementationForJSF2OrRichFaces4
I tried to register the new taglib:
richext.taglib.xml
<?xml version="1.0" encoding="UTF-8"?>
<facelet-taglib
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/web-facelettaglibrary_2_0.xsd"
version="2.0">
<namespace>http://java.sun.com/jsf/composite/richext</namespace>
<tag>
<tag-name>spacer</tag-name>
<source>../richext/spacer.xhtml</source>
</tag>
web.xml
<context-param>
<param-name>javax.faces.FACELETS_LIBRARIES</param-name>
<param-value>WEB-INF/richext.taglib.xml</param-value>
</context-param>
changed the spacer.xhtml a little bit to:
<composite:implementation>
<h:panelGroup rendered="#{cc.attrs.height > 0}">
<br/>
</h:panelGroup>
<h:graphicImage value="../img/spacer.gif"
width="#{cc.attrs.width}px"
height="#{cc.attrs.height}px"/>
</composite:implementation>
I added
xmlns:richext="http://java.sun.com/jsf/composite/richext"
to the pages where I want to use the spacer.
My Files:
WebContent/WEB-INF/richext.taglib.xml
WebContent/richext/spacer.xhtml
WebContent/img/spacer.gif
Now, when accessing a page where I use the spacer (other pages work fine) I get a NullpointerException in the browser, not in the server log.
java.lang.NullPointerException
at org.apache.myfaces.view.facelets.tag.composite.CompositeComponentDefinitionTagHandler.apply(CompositeComponentDefinitionTagHandler.java:113)
at org.apache.myfaces.view.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:57)
at org.apache.myfaces.view.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:48)
at org.apache.myfaces.view.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:394)
at org.apache.myfaces.view.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:448)
at org.apache.myfaces.view.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:390)
at org.apache.myfaces.view.facelets.tag.UserTagHandler.apply(UserTagHandler.java:138)
at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:51)
at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:59)
at org.richfaces.view.facelets.html.BehaviorsAddingComponentHandlerWrapper.applyNextHandler(BehaviorsAddingComponentHandlerWrapper.java:53)
at org.apache.myfaces.view.facelets.tag.jsf.ComponentTagHandlerDelegate.apply(ComponentTagHandlerDelegate.java:294)
at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:54)
at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:51)
at org.apache.myfaces.view.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:57)
at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:51)
at org.apache.myfaces.view.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:48)
at org.apache.myfaces.view.facelets.impl.DefaultFacelet.apply(DefaultFacelet.java:179)
at org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage.buildView(FaceletViewDeclarationLanguage.java:417)
at org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:78)
at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:239)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:191)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1188)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:763)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:454)
at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:125)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:77)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:919)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1016)
at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:87)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:895)
at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1662)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:195)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:452)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:511)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:305)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:276)
at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1659)
Where did I go wrong? Am I missing something?
My Server is a Websphere 8.0.0.2 if that's important.
Thanks in advance
You don't need that richext.taglib.xml file and that web.xml entry at all. Just put the composite component in /resources/richext folder, exactly as explained in the answer you found. Your concrete problem is caused because you attempted to register a composite component as a tag file (which are two entirely separate concepts). The incorrect taglib file might have caused MyFaces to choke like that.
See also:
Composite component info
When to use <ui:include>, tag files, composite components and/or custom components?