I’m trying to extend the base xmpp message types and add say message type xyz. When I do this the server throws an exception with the ArchiveInterceptor when it tries to invoke the Interceptors. Here’s the stack trace:
at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceive d(AbstractIoFilterChain.java:648)
at org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilter.java :239) at org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run(Execut orFilter.java:283) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:51) at java.lang.Thread.run(Unknown Source)2008.05.05 18:48:42 [org.jivesoftware.openfire.interceptor.InterceptorManager.invokeInterceptors(In terceptorManager.java:239)
] Error in interceptor: com.jivesoftware.openfire.enterprise.archive.ArchiveInterceptor@bbe73b while intercepting: <message type=“xyz” to=“jhopper” from=“jeff”> <body/> <vmsg xmlns=“xyz”> <length>5</length> < vdata>pRQ==</vdata> <format>a</format> </vmsg> </message> java.lang.Ill egalArgumentException: No enum const class org.xmpp.packet.Message$Type.xyz
at java.lang.Enum.valueOf(Unknown Source) at org.xmpp.packet.Message$Type.valueOf(Message.java:271) at org.xmpp.packet.Message.getType(Message.java:86) at com.jivesoftware.openfire.enterprise.archive.ConversationManager.isConversation (ConversationManager.java:751) at com.jivesoftware.openfire.enterprise.archive.ArchiveInterceptor.interceptPacket (ArchiveInterceptor.java:63)at org.jivesoftware.openfire.interceptor.InterceptorManager.invokeInterceptors(Int erceptorManager.java:227)at org.jivesoftware.openfire.MessageRouter.route(MessageRouter.java:109)at org.jivesoftware.openfire.spi.PacketRouterImpl.route(PacketRouterImpl.java:71)< span class=“hilite”>at org.jivesoftware.openfire.net.StanzaHandler.processMessage(StanzaHandler.java:3 34)at org.jivesoftware.openfire.net.ClientStanzaHandler.processMessage(ClientStanzaHa ndler.java:90)at org.jivesoftware.openfire.net.StanzaHandler.process(StanzaHandler.java:195)at org.jivesoftware.openfire.net.StanzaHandler.process(StanzaHandler.java:162)at org.jivesoftware.openfire.nio.ConnectionHandler.messageReceived(ConnectionHandl er.java:132)
at org.apache.mina.common.support.AbstractIoFilterChain$TailFilter.messageReceived (AbstractIoFilterChain.java:570) at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(Ab stractIoFilterChain.java:299) at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilt erChain.java:53) at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceive d(AbstractIoFilterChain.java:648) at org.apache.mina.common.IoFilterAdapter.messageReceived(IoFilterAdapter.java:80) at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(Ab stractIoFilterChain.java:299) at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilt erChain.java:53) at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceive d(AbstractIoFilterChain.java:648) at org.apache.mina.filter.codec.support.SimpleProtocolDecoderOutput.flush(SimplePr otocolDecoderOutput.java:58) at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecF ilter.java:180) at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(Ab stractIoFilterChain.java:299) at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilt erChain.java:53) at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceive d(AbstractIoFilterChain.java:648) at org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilter.java :239) at org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run(Execut orFilter.java:283) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:51) at java.lang.Thread.run(Unknown Source)
This occurs in 3.5.0, 3.5.1 and the source from SVN which builds 3.6.0. The 3.5.x installations I’ve tried this with and without the Enterprise plugin, both options throw the same exception. With 3.6.0 the runtime just eats the exception and no error gets logged.
Ideas?