[infinispan-dev] Failure looking up the river marshaller under AS 7 environment

"이희승 (Trustin Lee)" trustin at gmail.com
Tue May 31 22:38:13 EDT 2011


Using Marshalling.getProvidedMarshallerFactory() sounds like a better 
solution.  Let me create a JIRA issue and send a pull request soon.

On 06/01/2011 01:47 AM, David M. Lloyd wrote:
> Easiest solution is:
>
> Marshalling.getProvidedMarshallerFactory("river");
>
> This will always use the JBMAR class loader.  Otherwise you would have
> to make sure that the module from which you load the "river" protocol
> imports the river module like this:
>      <dependencies>
>         ...
>         <module name="org.jboss.marshalling.river" services="import"/>
>         ...
>      </dependencies>
>
> ... and then use your own class loader.
>
> On 05/31/2011 10:13 AM, Galder Zamarreño wrote:
>> The marshaller is a global component, so it'd have to be at the GlobalConfiguration.
>>
>> Let's bounce some ideas tomorrow on IRC.
>>
>> On May 31, 2011, at 5:07 PM, 이희승 (Trustin Lee) wrote:
>>
>>> The problem is that the marshaller lookup code exists in Infinispan
>>> unlike other subsystems.  We need to make it configurable.  Where would
>>> be the best place to expose the property in Infinispan?  For
>>> EmbeddedCachaManager, it is so simple because we have Configuration and
>>> GlobalConfiguration, but I'm not sure about the others.
>>>
>>> On 05/31/2011 11:38 PM, Galder Zamarreño wrote:
>>>> In fact, a quick grep on AS7 shows:
>>>>
>>>> ./host-controller/src/main/java/org/jboss/as/host/controller/ManagedServer.java:            MARSHALLER_FACTORY = Marshalling.getMarshallerFactory("river", Module.getModuleFromCallerModuleLoader(ModuleIdentifier.fromString("org.jboss.marshalling.river")).getClassLoader());
>>>> ./protocol/src/main/java/org/jboss/as/protocol/ProtocolUtils.java:        MARSHALLER_FACTORY = Marshalling.getMarshallerFactory("river", ProtocolUtils.class.getClassLoader());
>>>> ./server/src/main/java/org/jboss/as/server/DomainServerMain.java:        final MarshallerFactory factory = Marshalling.getMarshallerFactory("river", DomainServerMain.class.getClassLoader());
>>>>
>>>> We might need different mechanisms depending on the env.
>>>>
>>>> On May 31, 2011, at 11:28 AM, Galder Zamarreño wrote:
>>>>
>>>>> They're in diff jars and most likely in different JBoss Modules.
>>>>>
>>>>> Trustin, AS7 uses JBoss Marshalling, so maybe have a look in their code to see how they instantiate the marshaller factory - that might give you the clues here :)
>>>>>
>>>>> Cheers,
>>>>>
>>>>> On May 31, 2011, at 10:20 AM, Dan Berindei wrote:
>>>>>
>>>>>> We don't use the TCCL to load the MarshallerFactory:
>>>>>>
>>>>>>       factory = Marshalling.getMarshallerFactory("river",
>>>>>> Marshalling.class.getClassLoader());
>>>>>>
>>>>>> Maybe the Marshalling class and the RiverMarshallerFactory classes are
>>>>>> in different modules?
>>>>>>
>>>>>> Dan
>>>>>>
>>>>>>
>>>>>> On Tue, May 31, 2011 at 10:14 AM, "이희승 (Trustin Lee)"<trustin at gmail.com>    wrote:
>>>>>>> Hi folks,
>>>>>>>
>>>>>>> I'm trying to run Infinispan under AS 7 (i.e. JBoss Modules).  I
>>>>>>> succeeded to run an EmbeddedCacheManager, HotRodServer, and
>>>>>>> MemcachedServer.  However, it fails when a new node joins the cluser:
>>>>>>>
>>>>>>>      http://pastebin.com/pGfxSWJP
>>>>>>>
>>>>>>> The root cause of the failure is that GenericJBossMarshaller fails to
>>>>>>> find the RiverMarshallerFactory.  So, I set the TCCL, but it didn't help
>>>>>>> at all.  Even setting the TCCL to
>>>>>>> RiverMarshallerFactory.class.getClassLoader() doesn't seem to help.  Any
>>>>>>> clues?
>>>>>>>
>>>>>>> Cheers
>>>>>>>
>>>>>>> --
>>>>>>> Trustin Lee, http://gleamynode.net/
>>>>>>> _______________________________________________
>>>>>>> infinispan-dev mailing list
>>>>>>> infinispan-dev at lists.jboss.org
>>>>>>> https://lists.jboss.org/mailman/listinfo/infinispan-dev
>>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> infinispan-dev mailing list
>>>>>> infinispan-dev at lists.jboss.org
>>>>>> https://lists.jboss.org/mailman/listinfo/infinispan-dev
>>>>>
>>>>> --
>>>>> Galder Zamarreño
>>>>> Sr. Software Engineer
>>>>> Infinispan, JBoss Cache
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> infinispan-dev mailing list
>>>>> infinispan-dev at lists.jboss.org
>>>>> https://lists.jboss.org/mailman/listinfo/infinispan-dev
>>>>
>>>> --
>>>> Galder Zamarreño
>>>> Sr. Software Engineer
>>>> Infinispan, JBoss Cache
>>>>
>>>>
>>>> _______________________________________________
>>>> infinispan-dev mailing list
>>>> infinispan-dev at lists.jboss.org
>>>> https://lists.jboss.org/mailman/listinfo/infinispan-dev
>>>
>>>
>>> --
>>> Trustin Lee, http://gleamynode.net/
>>> _______________________________________________
>>> infinispan-dev mailing list
>>> infinispan-dev at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/infinispan-dev
>>
>> --
>> Galder Zamarreño
>> Sr. Software Engineer
>> Infinispan, JBoss Cache
>>
>>
>> _______________________________________________
>> infinispan-dev mailing list
>> infinispan-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/infinispan-dev
>
>


-- 
Trustin Lee, http://gleamynode.net/


More information about the infinispan-dev mailing list