In my application I am using the following flow: 1. I am using Guvnor to allow customer to define business event structure through the "Declarative Model" feature. 2. After defining the model, customers write rules and package them into a snapshot where my event-driven-application-server can see. 3. My server load successfully the customer packages (couple hundreds of them). 4. Customer uses HornetQ client to produce events that respects the model that has been created using Guvnor. 5. I have HornetQ listeners in my application that listens to new events. 6. HornetQ listeners tries to deserialize the message bytes to an event object to insert it to the customer ksession
The problem is that my server classloader has no idea about the model, so I use ASM to inject the class definition when ClassNotFoundException is thrown however this was not enough as serialVersionUID of client side object is going to be different from the ASM default injected one. I know some of you might say why cant I use the same static final serialVersionUID in the client side as well as in the server side - the answer is I want to give control to customers to define whatever business model they want using Guvnor. Using jar file model will not give freedom to business users that Guvnor provide. I am wondering if some of you were facing the same issue while using the fusion message queue streaming gate? I am thinking to extend the Java ObjectInputStream and implement my own deserialization. Could Drools ksession accept bytes along side with objects (I mean in the future) - Something like; "ksession.insert(bytes)" Any ideas? Abdel
_______________________________________________ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users