Anonymous | Login | Signup for a new account | 12-17-2024 10:57 PST |
Main | My View | View Issues | Change Log | Docs |
Viewing Issue Simple Details [ Jump to Notes ] | [ View Advanced ] [ Issue History ] [ Print ] | ||||||||
ID | Category | Severity | Reproducibility | Date Submitted | Last Update | ||||
0002584 | [Resin] | minor | always | 04-09-08 09:13 | 06-09-08 09:32 | ||||
Reporter | ferg | View Status | public | ||||||
Assigned To | ferg | ||||||||
Priority | high | Resolution | fixed | ||||||
Status | closed | Product Version | 3.1.6 | ||||||
Summary | 0002584: hessian Lucene serialization | ||||||||
Description |
(rep by Matt Johnson) I am trying to use a Lucene index and place my documents to be indexed into a JMS queue. The Lucene Document class is documented as being serializable. When my queue listener tries to work on the submitted lucene Document object, I get an error: could not index doc: ObjectMessageImpl[ID:DOmYA38A3joAEZMMeI8wAK] com.caucho.jms.JMSExceptionWrapper: org.apache.lucene.document.Document.fields: 'org.apache.lucene.document.Field' could not be instantiated at com.caucho.jms.JMSExceptionWrapper.create(JMSExceptionWrapper.java:76) at com.caucho.jms.message.ObjectMessageImpl.getObject(ObjectMessageImpl.java:120) at latta.ejb3.indexer.ProductIndexQueue.onMessage(ProductIndexQueue.java:34) at _ejb.ProductIndexQueue.ProductIndexQueue__EJB.onMessage(ProductIndexQueue__EJB.java:75) at com.caucho.jms.connection.MessageConsumerImpl.handleMessage(MessageConsumerImpl.java:326) at com.caucho.jms.connection.JmsSession.run(JmsSession.java:1072) at com.caucho.util.ThreadPool$Item.runTasks(ThreadPool.java:721) at com.caucho.util.ThreadPool$Item.run(ThreadPool.java:643) at java.lang.Thread.run(Thread.java:619) Caused by: com.caucho.hessian.io.HessianFieldException: org.apache.lucene.document.Document.fields: 'org.apache.lucene.document.Field' could not be instantiated at com.caucho.hessian.io.JavaDeserializer.logDeserializeError(JavaDeserializer.java:590) at com.caucho.hessian.io.JavaDeserializer$ObjectFieldDeserializer.deserialize(JavaDeserializer.java:391) at com.caucho.hessian.io.JavaDeserializer.readObject(JavaDeserializer.java:233) at com.caucho.hessian.io.JavaDeserializer.readObject(JavaDeserializer.java:157) at com.caucho.hessian.io.SerializerFactory.readObject(SerializerFactory.java:376) at com.caucho.hessian.io.Hessian2Input.readObjectInstance(Hessian2Input.java:2051) at com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:1977) at com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:1969) at com.caucho.jms.message.ObjectMessageImpl.getObject(ObjectMessageImpl.java:114) ... 7 more Caused by: com.caucho.hessian.io.HessianProtocolException: 'org.apache.lucene.document.Field' could not be instantiated at com.caucho.hessian.io.JavaDeserializer.instantiate(JavaDeserializer.java:275) at com.caucho.hessian.io.JavaDeserializer.readObject(JavaDeserializer.java:155) at com.caucho.hessian.io.SerializerFactory.readObject(SerializerFactory.java:376) at com.caucho.hessian.io.Hessian2Input.readObjectInstance(Hessian2Input.java:2051) at com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:1977) at com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:1969) at com.caucho.hessian.io.CollectionDeserializer.readList(CollectionDeserializer.java:78) at com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:1700) at com.caucho.hessian.io.JavaDeserializer$ObjectFieldDeserializer.deserialize(JavaDeserializer.java:387) ... 14 more Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at com.caucho.hessian.io.JavaDeserializer.instantiate(JavaDeserializer.java:271) ... 22 more Caused by: java.lang.NullPointerException: name cannot be null at org.apache.lucene.document.Field.<init>(Field.java:306) at org.apache.lucene.document.Field.<init>(Field.java:290) ... 27 more I've tried this with Lucene 2.2.0 and 2.3.1 and the same error occurs. I am using the Resin 080331 snapshot. Any pointers or work arounds would be helpful. |
||||||||
Additional Information | |||||||||
Attached Files | |||||||||
|
Notes | |
(0003150) ferg 06-09-08 09:32 |
hessian/3a49 Added FooSerializerFactory with a Object writeReplace(Foo foo) method which will allow wrapper classes for legacy classes like the Lucent Field. |
Mantis 1.0.0rc3[^]
Copyright © 2000 - 2005 Mantis Group
28 total queries executed. 25 unique queries executed. |