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

Guillaume Nodet resolved SMX4KNL-145.
-------------------------------------

       Resolution: Fixed
    Fix Version/s: 1.1.0
         Assignee: Guillaume Nodet

Fix committed to GShell.

Sending        
gshell-io/src/main/java/org/apache/geronimo/gshell/io/SystemOutputHijacker.java
Transmitting file data .
Committed revision 725707.

> java.lang.IllegalStateException: Streams not registered for thread
> ------------------------------------------------------------------
>
>                 Key: SMX4KNL-145
>                 URL: https://issues.apache.org/activemq/browse/SMX4KNL-145
>             Project: ServiceMix Kernel
>          Issue Type: Bug
>            Reporter: Lars Heinemann
>            Assignee: Guillaume Nodet
>             Fix For: 1.1.0
>
>
> I started
> to use the xml deployment as described here:
>       
> http://servicemix.apache.org/SMX4NMR/3-deploying-jbi-components-without-the-jbi-packaging.html
> My xml file looks like this:
> {noformat}
> <?xml version="1.0" encoding="UTF-8"?>
> <beans xmlns="http://www.springframework.org/schema/beans";                    
>          
>    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>    xmlns:osgi="http://www.springframework.org/schema/osgi";          
>    xmlns:file="http://servicemix.apache.org/file/1.0";
>    xmlns:cp="http://www.compart.net/ns/jbi";
>    xmlns:pl="http://www.compart.net/bindings/cp-portlistener/1.0";             
>      
>    xsi:schemaLocation="http://www.springframework.org/schema/beans 
> http://www.springframework.org/schema/beans/spring-beans.xsd                  
>   
>        http://www.springframework.org/schema/osgi 
> http://www.springframework.org/schema/osgi/spring-osgi.xsd
>        http://www.compart.net/bindings/cp-portlistener/1.0 
> http://www.compart.net/bindings/cp-portlistener/1.0/cp-portlistener-bc.xsd
>        http://servicemix.apache.org/file/1.0 
> http://servicemix.apache.org/file/1.0/servicemix-file.xsd";>
>     <!-- this bean has to be here always, otherwise no endpoints are 
> recognized within this file -->
>     <bean class="org.apache.servicemix.common.osgi.EndpointExporter" />
>     
>     <!-- the file binding for reading -->
>     <file:poller service="cp:filePoller"
>                  endpoint="pollerEndpoint"
>                  autoCreateDirectory="true"
>                  file="file:///home/lhe/smxtest/input/"
>                  targetService="cp:fileSender"
>                  targetOperation="cp:preProcessing"
>                  period="20000"
>                  delay="40000"
>                  deleteFile="true"
>                  recursive="true">
>         <property name="filter">
>             <bean class="org.apache.commons.io.filefilter.WildcardFilter">
>               <constructor-arg value="*.*" />
>             </bean>
>     </property>
>     <property name="marshaler">
>             <bean 
> class="org.apache.servicemix.components.util.BinaryFileMarshaler" />
>     </property>
>    
>   </file:poller>
>   <!-- the file binding for writing -->
>   <file:sender service="cp:fileSender"
>                  endpoint="senderEndpoint"
>                  append="false"
>                  autoCreateDirectory="true"
>                  directory="file:///home/lhe/smxtest/output/">
>     <property name="marshaler">
>             <bean 
> class="org.apache.servicemix.components.util.BinaryFileMarshaler" />
>     </property>
>    
>   </file:sender>
>   <!-- the port listener binding for IPP protocol -->
>   <pl:listener service="cp:portlistener"
>                endpoint="ippEndpoint"
>                targetService="cp:preProcessing"
>                targetOperation="cp:process"
>                  port="1977"
>                protocol="ipp" />
> </beans>
> {noformat}
> When I try to deploy this file the log displays the following exceptions 
> (servicemix-4.0-m2-SNAPSHOT):
> {noformat}
> 09:55:32,700 | WARN  | xtenderThread-62 | CustomListenerAdapterUtils       | 
> onfig.CustomListenerAdapterUtils  161 | custom method [public void 
> org.apache.servicemix.common.osgi.EndpointTracker.register(org.apache.servicemix.common.osgi.EndpointWrapper,java.util.Map)
>  throws java.lang.Exception] threw exception when passing service type 
> [$Proxy79]
> java.lang.IllegalStateException: Streams not registered for thread: 
> Thread[SpringOsgiExtenderThread-62,5,spring-osgi-extender[3e1bc8]-threads]
>     at 
> org.apache.geronimo.gshell.io.SystemOutputHijacker.ensureRegistered(SystemOutputHijacker.java:143)
>     at 
> org.apache.geronimo.gshell.io.SystemOutputHijacker.registration(SystemOutputHijacker.java:126)
>     at 
> org.apache.geronimo.gshell.io.SystemOutputHijacker.current(SystemOutputHijacker.java:208)
>     at 
> org.apache.geronimo.gshell.io.SystemOutputHijacker.access$000(SystemOutputHijacker.java:36)
>     at 
> org.apache.geronimo.gshell.io.SystemOutputHijacker$DelegateStream.get(SystemOutputHijacker.java:232)
>     at 
> org.apache.geronimo.gshell.io.SystemOutputHijacker$DelegateStream.write(SystemOutputHijacker.java:244)
>     at sun.nio.cs.StreamEncoder$CharsetSE.writeBytes(StreamEncoder.java:336)
>     at 
> sun.nio.cs.StreamEncoder$CharsetSE.implFlushBuffer(StreamEncoder.java:404)
>     at sun.nio.cs.StreamEncoder.flushBuffer(StreamEncoder.java:115)
>     at java.io.OutputStreamWriter.flushBuffer(OutputStreamWriter.java:169)
>     at java.io.PrintStream.write(PrintStream.java:459)
>     at java.io.PrintStream.print(PrintStream.java:602)
>     at java.io.PrintStream.println(PrintStream.java:739)
>     at 
> net.compart.jbi.portlistener.PLConsumerEndpoint.validate(PLConsumerEndpoint.java:91)
>     at 
> org.apache.servicemix.common.osgi.EndpointTracker$OsgiServiceUnit.<init>(EndpointTracker.java:82)
>     at 
> org.apache.servicemix.common.osgi.EndpointTracker.register(EndpointTracker.java:54)
>     at sun.reflect.GeneratedMethodAccessor99.invoke(Unknown Source)
>     at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>     at java.lang.reflect.Method.invoke(Method.java:585)
>     at 
> org.springframework.osgi.util.internal.ReflectionUtils.invokeMethod(ReflectionUtils.java:108)
>     at 
> org.springframework.osgi.config.CustomListenerAdapterUtils.invokeCustomMethods(CustomListenerAdapterUtils.java:154)
>     at 
> org.springframework.osgi.config.OsgiServiceLifecycleListenerAdapter.bind(OsgiServiceLifecycleListenerAdapter.java:186)
>     at 
> org.springframework.osgi.service.importer.support.internal.util.OsgiServiceBindingUtils.callListenersBind(OsgiServiceBindingUtils.java:50)
>     at 
> org.springframework.osgi.service.importer.support.internal.collection.OsgiServiceCollection$Listener.serviceChanged(OsgiServiceCollection.java:106)
>     at 
> org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:765)
>     at 
> org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:623)
>     at 
> org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:554)
>     at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:3612)
>     at org.apache.felix.framework.Felix.access$000(Felix.java:36)
>     at org.apache.felix.framework.Felix$1.serviceChanged(Felix.java:626)
>     at 
> org.apache.felix.framework.ServiceRegistry.fireServiceChanged(ServiceRegistry.java:559)
>     at 
> org.apache.felix.framework.ServiceRegistry.registerService(ServiceRegistry.java:75)
>     at org.apache.felix.framework.Felix.registerService(Felix.java:2702)
>     at 
> org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:254)
>     at 
> org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:232)
>     at 
> org.apache.servicemix.common.osgi.EndpointExporter.afterPropertiesSet(EndpointExporter.java:77)
>     at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1368)
>     at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1334)
>     at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
>     at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
>     at java.security.AccessController.doPrivileged(Native Method)
>     at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
>     at 
> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
>     at 
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:221)
>     at 
> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
>     at 
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
>     at 
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
>     at 
> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)
>     at 
> org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:729)
>     at 
> org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplicationContext.java:276)
>     at 
> org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(DependencyWaiterApplicationContextExecutor.java:145)
>     at java.lang.Thread.run(Thread.java:595)
> 09:55:32,707 | INFO  | xtenderThread-62 | xml                              | 
> ?                                   ? | ServiceEvent REGISTERED
> 09:55:32,713 | INFO  | xtenderThread-62 | ServiceAssemblyImpl              | 
> eployer.impl.ServiceAssemblyImpl  160 | Changing SA state to Initialized
> 09:55:32,717 | ERROR | xtenderThread-62 | Deployer                         | 
> cemix.jbi.deployer.impl.Deployer  530 | Error registering deployed service 
> assembly
> javax.jbi.management.DeploymentException: <component-task-result 
> xmlns="http://java.sun.com/xml/ns/jbi/management-message";>
>     <component-name>cp-portlistener-bc</component-name>
>     <component-task-result-details>
>         <task-result-details>
>             <task-id>init</task-id>
>             <task-result>FAILED</task-result>
>             <message-type>ERROR</message-type>
>             <task-status-msg><msg-loc-info><loc-token/><loc-message>Unable to 
> init service unit</loc-message></msg-loc-info></task-status-msg>
>             <exception-info>
>                 <nesting-level>1</nesting-level>
>                 <msg-loc-info>
>                     <loc-token />
>                     <loc-message>serviceUnitName should be non null and non 
> empty</loc-message>
>                     <stack-trace><![CDATA[java.lang.IllegalArgumentException: 
> serviceUnitName should be non null and non empty
>     at 
> org.apache.servicemix.common.BaseServiceUnitManager.init(BaseServiceUnitManager.java:104)
>     at 
> org.apache.servicemix.jbi.deployer.impl.ServiceUnitImpl.init(ServiceUnitImpl.java:94)
>     at 
> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyImpl.changeState(ServiceAssemblyImpl.java:186)
>     at 
> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyImpl.transition(ServiceAssemblyImpl.java:165)
>     at 
> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyImpl.init(ServiceAssemblyImpl.java:104)
>     at 
> org.apache.servicemix.jbi.deployer.impl.Deployer.registerSA(Deployer.java:353)
>     at 
> org.apache.servicemix.jbi.deployer.impl.Deployer.registerDeployedServiceAssembly(Deployer.java:528)
>     at 
> org.apache.servicemix.jbi.deployer.impl.Deployer$2.addingService(Deployer.java:147)
>     at 
> org.osgi.util.tracker.ServiceTracker$Tracked.trackAdding(ServiceTracker.java:1021)
>     at 
> org.osgi.util.tracker.ServiceTracker$Tracked.track(ServiceTracker.java:999)
>     at 
> org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:924)
>     at 
> org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:765)
>     at 
> org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:623)
>     at 
> org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:554)
>     at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:3612)
>     at org.apache.felix.framework.Felix.access$000(Felix.java:36)
>     at org.apache.felix.framework.Felix$1.serviceChanged(Felix.java:626)
>     at 
> org.apache.felix.framework.ServiceRegistry.fireServiceChanged(ServiceRegistry.java:559)
>     at 
> org.apache.felix.framework.ServiceRegistry.registerService(ServiceRegistry.java:75)
>     at org.apache.felix.framework.Felix.registerService(Felix.java:2702)
>     at 
> org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:254)
>     at 
> org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:232)
>     at 
> org.apache.servicemix.common.osgi.EndpointExporter.afterPropertiesSet(EndpointExporter.java:79)
>     at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1368)
>     at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1334)
>     at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
>     at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
>     at java.security.AccessController.doPrivileged(Native Method)
>     at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
>     at 
> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
>     at 
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:221)
>     at 
> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
>     at 
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
>     at 
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
>     at 
> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)
>     at 
> org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:729)
>     at 
> org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplicationContext.java:276)
>     at 
> org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(DependencyWaiterApplicationContextExecutor.java:145)
>     at java.lang.Thread.run(Thread.java:595)
> ]]></stack-trace>
>                 </msg-loc-info>
>             </exception-info>
>         </task-result-details>
>     </component-task-result-details>
> </component-task-result>
>     at 
> org.apache.servicemix.common.BaseServiceUnitManager.failure(BaseServiceUnitManager.java:290)
>     at 
> org.apache.servicemix.common.BaseServiceUnitManager.init(BaseServiceUnitManager.java:129)
>     at 
> org.apache.servicemix.jbi.deployer.impl.ServiceUnitImpl.init(ServiceUnitImpl.java:94)
>     at 
> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyImpl.changeState(ServiceAssemblyImpl.java:186)
>     at 
> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyImpl.transition(ServiceAssemblyImpl.java:165)
>     at 
> org.apache.servicemix.jbi.deployer.impl.ServiceAssemblyImpl.init(ServiceAssemblyImpl.java:104)
>     at 
> org.apache.servicemix.jbi.deployer.impl.Deployer.registerSA(Deployer.java:353)
>     at 
> org.apache.servicemix.jbi.deployer.impl.Deployer.registerDeployedServiceAssembly(Deployer.java:528)
>     at 
> org.apache.servicemix.jbi.deployer.impl.Deployer$2.addingService(Deployer.java:147)
>     at 
> org.osgi.util.tracker.ServiceTracker$Tracked.trackAdding(ServiceTracker.java:1021)
>     at 
> org.osgi.util.tracker.ServiceTracker$Tracked.track(ServiceTracker.java:999)
>     at 
> org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:924)
>     at 
> org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:765)
>     at 
> org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:623)
>     at 
> org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:554)
>     at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:3612)
>     at org.apache.felix.framework.Felix.access$000(Felix.java:36)
>     at org.apache.felix.framework.Felix$1.serviceChanged(Felix.java:626)
>     at 
> org.apache.felix.framework.ServiceRegistry.fireServiceChanged(ServiceRegistry.java:559)
>     at 
> org.apache.felix.framework.ServiceRegistry.registerService(ServiceRegistry.java:75)
>     at org.apache.felix.framework.Felix.registerService(Felix.java:2702)
>     at 
> org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:254)
>     at 
> org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:232)
>     at 
> org.apache.servicemix.common.osgi.EndpointExporter.afterPropertiesSet(EndpointExporter.java:79)
>     at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1368)
>     at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1334)
>     at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
>     at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
>     at java.security.AccessController.doPrivileged(Native Method)
>     at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
>     at 
> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
>     at 
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:221)
>     at 
> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
>     at 
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
>     at 
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
>     at 
> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)
>     at 
> org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:729)
>     at 
> org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplicationContext.java:276)
>     at 
> org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(DependencyWaiterApplicationContextExecutor.java:145)
>     at java.lang.Thread.run(Thread.java:595)
> 09:55:32,718 | INFO  | xtenderThread-62 | xml                              | 
> ?                                   ? | ServiceEvent REGISTERED
> 09:55:32,719 | INFO  | xtenderThread-62 | OsgiBundleXmlApplicationContext  | 
> ractOsgiBundleApplicationContext  336 | Not publishing application context 
> OSGi service for bundle null (single.xml)
> {noformat}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to