Ok, thanks, Steve. I also just noticed that I need to start a new thread.
http://avalon.apache.org/developing/framework.html Startable The Startable interface is used by any component that is constantly running for the duration of its life. The interface defines two methods: start and stop . Neither method has any parameters. The contract surrounding this interface is that the start method is called once after the component is fully initialized, and the stop method is called once before the component is disposed of. Neither method will be called more than once, and start will always be called before stop . Furthermore, the method must return, it can not go into a endless loop. From this follows that the component should create a thread and call the Thread.start() method inside this method to ctart the continous processing. The stop() method should interrupt the thread in a safe manner. This should be done by variables and the Thread.interrupt() method, slightly depending on how the thread is operating. Implications of using this interface require that the start and stop methods be conducted safely (unlike the Thread.stop method) and not render the system unstable. > -----Original Message----- > From: Stephen McConnell [mailto:[EMAIL PROTECTED] > Sent: July 20, 2004 19:19 > To: 'Avalon framework users'; [EMAIL PROTECTED] > Subject: RE: Timeout problem > > > > > First off - you can locate where the deployment timeout is occurring by > switching in -debug mode. You should see the commissioner logging the > different steps involved in launching your component. That will give > you an idea of where the issue is. > > If your component is legitimately taking longer than 1000ms to do is > stuff you should modify the preferred deployment timeout for the > component - you can do this by declaring the following class level > javadoc tag in the component source: > > @avalon.attribute > key="urn:composition:deployment.timeout" value="0" > > The value is "0" the deployment can potentially hang merlin because this > means 'wait indefinitely'. If the component is know to have a heavy > deployment time then its better to give a value that is a reasonable > timeout value for a slow machine. > > Cheers, Steve. > > > -----Original Message----- > From: David Leangen [mailto:[EMAIL PROTECTED] > Sent: Tuesday, July 20, 2004 10:17 AM > To: [EMAIL PROTECTED] > Subject: Timeout problem > > > Steve, > > I implemented Startable, as you suggested, but I'm still getting the > timeout > exception. > > What am I doing wrong? > > Thanks! > > > <snip/> > > [DEBUG ] (pubmed_jp.fileSplitterProvider.lifecycle): applying startup > [DEBUG ] (pubmed_jp.fileSplitterProvider): ----Starting > KFileSplitterProvider service----- > [DEBUG ] (kernel): state: initialized > ---- exception > report ---------------------------------------------------------- > Exception: org.apache.avalon.merlin.KernelException > Message: Kernel startup failure. > ---- > cause > --------------------------------------------------------------------- > Exception: org.apache.avalon.merlin.KernelException > Message: Cannot deploy application. > ---- > cause > --------------------------------------------------------------------- > Exception: > org.apache.avalon.composition.model.FatalCommissioningException > Message: target: [[/pubmed_jp/fileSplitterComponent]] did not respond > within > the timeout period: [1000] and failed to respond to an interrupt. > ---- stack > trace --------------------------------------------------------------- > org.apache.avalon.composition.model.FatalCommissioningException: target: > [[/pubmed_jp/fileSplitterComponent]] did not respond within the timeout > period: [1000] and failed to respond to an interrupt. > org.apache.avalon.composition.model.impl.CommissionRequest.waitForComple > tion > (Unknown Source) > org.apache.avalon.composition.model.impl.Commissioner.commission(Unknown > Source) > org.apache.avalon.composition.model.impl.DefaultContainmentModel.commiss > ion( > Unknown Source) > org.apache.avalon.composition.model.impl.Commissioner.run(Unknown > Source) > java.lang.Thread.run(Thread.java:536) > ------------------------------------------------------------------------ > ---- > ---- > > [DEBUG ] (kernel): shutdown event > [DEBUG ] (kernel): disposal > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
