You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Claus Ibsen (JIRA)" <ji...@apache.org> on 2014/08/22 08:15:11 UTC

[jira] [Resolved] (CAMEL-7730) URI option "command" is not working in camel-infinispan component

     [ https://issues.apache.org/jira/browse/CAMEL-7730?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Claus Ibsen resolved CAMEL-7730.
--------------------------------

    Resolution: Fixed

Thanks

> URI option "command" is not working in camel-infinispan component
> -----------------------------------------------------------------
>
>                 Key: CAMEL-7730
>                 URL: https://issues.apache.org/jira/browse/CAMEL-7730
>             Project: Camel
>          Issue Type: Bug
>    Affects Versions: 2.13.2
>            Reporter: Roman jakubco
>            Assignee: Claus Ibsen
>             Fix For: 2.13.3, 2.14.0
>
>
> Documentation for the component states that "command" URI option can be used in producer for setting operations for infinispan. But is seems only the default value is working because commands REMOVE, CLEAR and GET  fail with NullPointerException:
> {code}
> Message History
> ---------------------------------------------------------------------------------------------------------------------------------------
> RouteId              ProcessorId          Processor                                                                        Elapsed (ms)
> [route7            ] [route7            ] [direct://commandGet                                                           ] [         3]
> [route7            ] [setHeader11       ] [setHeader[CamelInfinispanKey]                                                 ] [         0]
> [route7            ] [to7               ] [infinispan://localhost?cacheContainer=#container1&command=GET                 ] [         1]
> Exchange
> ---------------------------------------------------------------------------------------------------------------------------------------
> Exchange[
> 	Id                  ID-roman-ThinkPad-T430s-46536-1408612528972-0-4
> 	ExchangePattern     InOnly
> 	Headers             {breadcrumbId=ID-roman-ThinkPad-T430s-46536-1408612528972-0-3, CamelInfinispanKey=commandKey1, CamelRedelivered=false, CamelRedeliveryCounter=0}
> 	BodyType            null
> 	Body                [Body is null]
> ]
> Stacktrace
> ---------------------------------------------------------------------------------------------------------------------------------------
> java.lang.NullPointerException: Null values are not supported!
> 	at org.infinispan.CacheImpl.assertKeyValueNotNull(CacheImpl.java:187)
> 	at org.infinispan.CacheImpl.putInternal(CacheImpl.java:876)
> 	at org.infinispan.CacheImpl.put(CacheImpl.java:870)
> 	at org.infinispan.CacheImpl.put(CacheImpl.java:1351)
> 	at org.infinispan.CacheImpl.put(CacheImpl.java:215)
> 	at org.apache.camel.component.infinispan.InfinispanOperation$Operation$1.execute(InfinispanOperation.java:50)
> 	at org.apache.camel.component.infinispan.InfinispanOperation.process(InfinispanOperation.java:34)
> 	at org.apache.camel.component.infinispan.InfinispanProducer.process(InfinispanProducer.java:42)
> 	at org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61)
> 	at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:110)
> 	at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:398)
> 	at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)
> 	at org.apache.camel.processor.Pipeline.process(Pipeline.java:118)
> 	at org.apache.camel.processor.Pipeline.process(Pipeline.java:80)
> 	at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)
> 	at org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:51)
> 	at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)
> 	at org.apache.camel.processor.UnitOfWorkProducer.process(UnitOfWorkProducer.java:73)
> 	at org.apache.camel.impl.ProducerCache$2.doInProducer(ProducerCache.java:378)
> 	at org.apache.camel.impl.ProducerCache$2.doInProducer(ProducerCache.java:346)
> 	at org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:242)
> 	at org.apache.camel.impl.ProducerCache.sendExchange(ProducerCache.java:346)
> 	at org.apache.camel.impl.ProducerCache.send(ProducerCache.java:184)
> 	at org.apache.camel.impl.DefaultProducerTemplate.send(DefaultProducerTemplate.java:124)
> 	at org.apache.camel.impl.DefaultProducerTemplate.send(DefaultProducerTemplate.java:110)
> 	at org.jboss.fuse.qa.infinispan.component.test.InfinispanComponentTest.testUriCommandOption(InfinispanComponentTest.java:158)
> 	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 org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
> 	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
> 	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
> 	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
> 	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
> 	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
> 	at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)
> 	at org.junit.rules.RunRules.evaluate(RunRules.java:20)
> 	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
> 	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
> 	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
> 	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
> 	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
> 	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
> 	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
> 	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
> 	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
> 	at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
> 	at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264)
> 	at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153)
> 	at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124)
> 	at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200)
> 	at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153)
> 	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)
> {code}
> Looking at the code it seems there is a missing test if the operation is not specified in the URI and default operation PUT is always used( that is why there is NullPointerException). I will correct it later in the evening or tomorrow a make a pullrequest to the git.



--
This message was sent by Atlassian JIRA
(v6.2#6252)