felix-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Clement Escoffier <clement.escoff...@gmail.com>
Subject Re: newbee question
Date Mon, 06 Jan 2014 16:32:59 GMT

On 6 janv. 2014, at 15:52, Hermann Matthes <hermann.matthes@web.de> wrote:

> Hello Guillaume,
> merci beaucoup. It works.
> 
> This is the content of the file I generate during validate/invalidate:
> 
> Starting workbench server, log is org.osgi.service.log.LogService$$Proxy@16a327b0
> Stopping workbench server, log is org.osgi.service.log.LogService$$Proxy@16a327b0
> 
> So the log service is available. Can someone tell me how to configure the log file it
should use?

It depends of the log service implementation you are using. The felix log service implementation
does not write any file as log entries are kept in memory.

Regards,

Clement

> 
> Hermann
> 
> Am 06.01.2014 15:38, schrieb Guillaume Sauthier (OW2/GMail):
>> Hi Hermann
>> 
>> Make sure you manipulate your bundles with the latest ipojo manipulator
>> (1.11.0) (there are ant, maven and bnd extension available).
>> 
>> --G
>> 
>> 
>> 2014/1/6 Hermann Matthes <hermann.matthes@web.de>
>> 
>>> Hello Clement,
>>> thnaks a lot for the quick answer.
>>> When I set the LogServervice to optional and reinstall the module, I get
>>> the following log error meeesage during "start":
>>> 
>>> 2014-01-06 15:19:34,517 | ERROR |  pool-1-thread-1 | server
>>>             | ?                                   ? | 96 - server -
>>> 1.0.0.SNAPSHOT | [ERROR]  : [de.hermannmatthes.workbench.server.ServerImpl-0]
>>> createInstance -> The POJO constructor invocation failed : Expecting a
>>> stackmap frame at branch target 12 in method de.hermannmatthes.workbench.server.ServerImpl.start()V
>>> at offset 4
>>> java.lang.VerifyError: Expecting a stackmap frame at branch target 12 in
>>> method de.hermannmatthes.workbench.server.ServerImpl.start()V at offset 4
>>>     at java.lang.Class.getDeclaredConstructors0(Native Method)[:1.7.0_07]
>>>     at java.lang.Class.privateGetDeclaredConstructors
>>> (Class.java:2404)[:1.7.0_07]
>>>     at java.lang.Class.getConstructor0(Class.java:2714)[:1.7.0_07]
>>>     at java.lang.Class.getDeclaredConstructor(Class.java:2002)[:1.7.0_07]
>>>     at org.apache.felix.ipojo.InstanceManager.createObject(
>>> InstanceManager.java:715)[84:org.apache.felix.ipojo:1.11.0]
>>>     at org.apache.felix.ipojo.InstanceManager.getPojoObject(
>>> InstanceManager.java:923)[84:org.apache.felix.ipojo:1.11.0]
>>>     at org.apache.felix.ipojo.handlers.lifecycle.callback.
>>> LifecycleCallbackHandler.__M_stateChanged(LifecycleCallbackHandler.java:
>>> 156)[84:org.apache.felix.ipojo:1.11.0]
>>>     at org.apache.felix.ipojo.handlers.lifecycle.callback.
>>> LifecycleCallbackHandler.stateChanged(LifecycleCallbackHandler.java)
>>> [84:org.apache.felix.ipojo:1.11.0]
>>>     at org.apache.felix.ipojo.InstanceManager.setState(
>>> InstanceManager.java:536)[84:org.apache.felix.ipojo:1.11.0]
>>>     at org.apache.felix.ipojo.InstanceManager.start(
>>> InstanceManager.java:418)[84:org.apache.felix.ipojo:1.11.0]
>>>     at org.apache.felix.ipojo.ComponentFactory.createInstance(
>>> ComponentFactory.java:179)[84:org.apache.felix.ipojo:1.11.0]
>>>     at org.apache.felix.ipojo.IPojoFactory.createComponentInstance(
>>> IPojoFactory.java:319)[84:org.apache.felix.ipojo:1.11.0]
>>>     at org.apache.felix.ipojo.IPojoFactory.createComponentInstance(
>>> IPojoFactory.java:240)[84:org.apache.felix.ipojo:1.11.0]
>>>     at org.apache.felix.ipojo.extender.internal.linker.
>>> ManagedType$InstanceSupport$1.call(ManagedType.java:312)[84:
>>> org.apache.felix.ipojo:1.11.0]
>>>     at org.apache.felix.ipojo.extender.internal.linker.
>>> ManagedType$InstanceSupport$1.call(ManagedType.java:306)[84:
>>> org.apache.felix.ipojo:1.11.0]
>>>     at org.apache.felix.ipojo.extender.internal.queue.
>>> JobInfoCallable.call(JobInfoCallable.java:114)[84:
>>> org.apache.felix.ipojo:1.11.0]
>>>     at java.util.concurrent.FutureTask$Sync.innerRun(
>>> FutureTask.java:334)[:1.7.0_07]
>>>     at java.util.concurrent.FutureTask.run(FutureTask.java:166)[:1.7.0_07]
>>>     at java.util.concurrent.ThreadPoolExecutor.runWorker(
>>> ThreadPoolExecutor.java:1110)[:1.7.0_07]
>>>     at java.util.concurrent.ThreadPoolExecutor$Worker.run(
>>> ThreadPoolExecutor.java:603)[:1.7.0_07]
>>>     at java.lang.Thread.run(Thread.java:722)[:1.7.0_07]
>>> 2014-01-06 15:19:34,517 | ERROR |  pool-1-thread-1 | server
>>>             | ?                                   ? | 96 - server -
>>> 1.0.0.SNAPSHOT | [ERROR] de.hermannmatthes.workbench.server.ServerImpl :
>>> Cannot create a POJO instance, the POJO constructor invocation has thrown
>>> an exception
>>> 
>>> Does anybody know what's the reason for that error?
>>> 
>>> Hermann
>>> 
>>> Am 06.01.2014 07:42, schrieb Clement Escoffier:
>>> 
>>>  Hi,
>>>> On 5 janv. 2014, at 20:07, Hermann Matthes <hermann.matthes@gmx.de>
>>>> wrote:
>>>> 
>>>>  Hello everybody,
>>>>> I try to learn ipojo to implement a simple server using Netbeans 7.4
and
>>>>> Apache Karaf.
>>>>> 
>>>>> My first goal is to write a really simple server which just prints a
>>>>> message when it's activated or deactivated. No tutorial which I found
gave
>>>>> enough information to perform such a simple task.
>>>>> 
>>>>> Here's my code:
>>>>> 
>>>>> The server interface:
>>>>> 
>>>>> package de.hermannmatthes.workbench.server;
>>>>> public interface Server {
>>>>>      public void start();
>>>>>      public void stop();
>>>>> }
>>>>> 
>>>>> The server implementation:
>>>>> 
>>>>> package de.hermannmatthes.workbench.server;
>>>>> 
>>>>> import java.io.FileWriter;
>>>>> import java.io.IOException;
>>>>> import java.util.logging.Level;
>>>>> import java.util.logging.Logger;
>>>>> import org.apache.felix.ipojo.annotations.Component;
>>>>> import org.apache.felix.ipojo.annotations.Instantiate;
>>>>> import org.apache.felix.ipojo.annotations.Invalidate;
>>>>> import org.apache.felix.ipojo.annotations.Requires;
>>>>> import org.apache.felix.ipojo.annotations.Validate;
>>>>> import org.osgi.service.log.LogService;
>>>>> 
>>>>> @Component(immediate=true)
>>>>> @Instantiate
>>>>> public class ServerImpl implements Server {
>>>>> 
>>>>>      @Requires(policy="static")
>>>>>      private LogService log;
>>>>>           @Override
>>>>>      @Validate
>>>>>      public void start() {
>>>>>          trace("Starting workbench server, log is " + log);
>>>>>          log.log(LogService.LOG_INFO, "Starting workbench server.");
>>>>>      }
>>>>>           @Override
>>>>>      @Invalidate
>>>>>      public void stop() {
>>>>>          trace("Stopping workbench server, log is " + log);
>>>>>          log.log(LogService.LOG_INFO, "Stopping workbench server.");
>>>>>      }
>>>>>           private void trace(final String msg) {
>>>>>          FileWriter w = null;
>>>>>          try {
>>>>>              w = new FileWriter("C:/temp/test.log", true);
>>>>>              w.write(msg + "\n");
>>>>>          } catch (IOException ex) {
>>>>>              Logger.getLogger(ServerImpl.class.getName()).log(Level.SEVERE,
>>>>> null, ex);
>>>>>          }
>>>>>          finally {
>>>>>              if (w!=null) {
>>>>>                  try {
>>>>>                      w.close();
>>>>>                  } catch (IOException ex) {
>>>>>                      Logger.getLogger(ServerImpl.
>>>>> class.getName()).log(Level.SEVERE, null, ex);
>>>>>                  }
>>>>>              }
>>>>>          }
>>>>>      }
>>>>> }
>>>>> 
>>>>> If I install the module in karaf and resolve it, everything's fine. But
>>>>> when I start it, its state changes to Active but nothing happens. In
the
>>>>> attachment you find my project file.
>>>>> 
>>>>> Can someone tell me whats wrong with my code?
>>>>> 
>>>> Is the log service available ? Try to set it ‘optional’ (optional=true).
>>>> 
>>>> Regards,
>>>> 
>>>> Clement
>>>> 
>>>>  Any hint is welcome
>>>>> Hermann
>>>>> <pom.xml>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
>>>>> For additional commands, e-mail: users-help@felix.apache.org
>>>>> 
>>>> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
> For additional commands, e-mail: users-help@felix.apache.org
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
For additional commands, e-mail: users-help@felix.apache.org


Mime
View raw message