Re: [osgi-dev] Reference not injected to component

2018-08-07 Thread Nhut Thai Le via osgi-dev
Thanks Tim,

I overlooked this one will try it out.

Thai

On Tue, Aug 7, 2018 at 12:56 PM, Tim Ward  wrote:

> According to the documentation KeyCloak can be provided as a Servlet
> Filter, which would avoid the need for a web.xml/WAB. https://www.
> keycloak.org/docs/2.5/securing_apps/topics/oidc/
> java/servlet-filter-adapter.html#_servlet_filter_adapter
>
> Best Regards,
>
> Tim
>
> Sent from my iPhone
>
> On 7 Aug 2018, at 17:31, Nhut Thai Le  wrote:
>
> KeycloakSecurityContext
>
>


-- 
Castor Technologies Inc
460 rue St-Catherine St Ouest, Suite 613
Montréal, Québec H3B-1A7
(514) 360-7208 o
(514) 798-2044 f
n...@castortech.com
www.castortech.com

CONFIDENTIALITY NOTICE: The information contained in this e-mail is
confidential and may be proprietary information intended only for the use
of the individual or entity to whom it is addressed. If the reader of this
message is not the intended recipient, you are hereby notified that any
viewing, dissemination, distribution, disclosure, copy or use of the
information contained in this e-mail message is strictly prohibited. If you
have received and/or are viewing this e-mail in error, please immediately
notify the sender by reply e-mail, and delete it from your system without
reading, forwarding, copying or saving in any manner. Thank you.
AVIS DE CONFIDENTIALITE: L’information contenue dans ce message est
confidentiel, peut être protégé par le secret professionnel et est réservé
à l'usage exclusif du destinataire. Toute autre personne est par les
présentes avisée qu'il lui est strictement interdit de diffuser, distribuer
ou reproduire ce message. Si vous avez reçu cette communication par erreur,
veuillez la détruire immédiatement et en aviser l'expéditeur. Merci.
___
OSGi Developer Mail List
osgi-dev@mail.osgi.org
https://mail.osgi.org/mailman/listinfo/osgi-dev

Re: [osgi-dev] Reference not injected to component

2018-08-07 Thread Tim Ward via osgi-dev
According to the documentation KeyCloak can be provided as a Servlet Filter, 
which would avoid the need for a web.xml/WAB. 
https://www.keycloak.org/docs/2.5/securing_apps/topics/oidc/java/servlet-filter-adapter.html#_servlet_filter_adapter

Best Regards,

Tim

Sent from my iPhone

> On 7 Aug 2018, at 17:31, Nhut Thai Le  wrote:
> 
> KeycloakSecurityContext
___
OSGi Developer Mail List
osgi-dev@mail.osgi.org
https://mail.osgi.org/mailman/listinfo/osgi-dev

Re: [osgi-dev] Reference not injected to component

2018-08-07 Thread Nhut Thai Le via osgi-dev
Thanks Tim,

My bad not explaining the situation well, it's actually not the filter
itself but rather what the filter uses that prevent me from using
whiteboard .
My servlet filter is using some attributes on the request set by keycloak
authenticator:

public void doFilter(final ServletRequest request, final ServletResponse
response, final FilterChain chain)
throws IOException, ServletException {

Object kcSecurityContext =
request.getAttribute(KeycloakSecurityContext.class.getName());

Keycloak authenticator is registered with the web container by the
following tag in web.xml:

KEYCLOAK
realm1

it also need a special json file in the WEB-INF providing info about of the
authentication server.
The keycloak authenticator seem to be applied to the whole web app instead
of a servlet.


Thai

On Tue, Aug 7, 2018 at 11:37 AM, Tim Ward  wrote:

> You are aware that Servlet Filters are also supported by the whiteboard?
> See https://osgi.org/specification/osgi.cmpn/7.0.0/
> service.http.whiteboard.html#d0e121055
>
> Just to reiterate my warning, continuing to develop a WAB will
> significantly affect your ability to reliably take advantage of OSGi
> specifications and services from your web code going forward. If you do
> have more problems then you will likely find that the future advice from
> this list is that you should migrate away from using a WAB.
>
> Best Regards,
>
> Tim
>
> On 7 Aug 2018, at 16:12, Nhut Thai Le  wrote:
>
> Thanks Tim,
>
> I'll stick with the WAB for now and use the BundleContext to get my
> service since I need to config some security filter on the web.xml.
>
> Thai
>
> On Tue, Aug 7, 2018 at 4:15 AM, Tim Ward  wrote:
>
>> Hi,
>>
>> I’m afraid that if you’re using a WAB file then you absolutely can’t use
>> DS, and vice versa. The Web Application Bundle specification exists as a
>> mechanism to allow people to move from a non-OSGi world into OSGi, and
>> there are a number of restrictions as a result. The one that you’re hitting
>> is that in a Web Application the Servlet container is responsible for
>> instantiating and managing the lifecycle of the Servlet instances. As a
>> result you are getting two instances created, one by DS which is injecting
>> the AdminBroker service, and one by the Servlet Container which isn’t
>> injecting anything.
>>
>> Assuming that this is a new project then by far the simplest way to fix
>> this is to completely avoid making a WAB, and just to use the Http
>> Whiteboard. This will simplify things immensely, and handle the service
>> dynamics easily. If you can’t avoid using the WAB then you do have access
>> to the BundleContext in your ServletContext (see
>> https://osgi.org/specification/osgi.cmpn/7.0.0/service.war.html#d0e101441).
>> You would have to use this to get the service you want to use (and release
>> it, and deal with what happens if it isn’t available).
>>
>> In summary, WABs exist for specific use cases when you can’t be properly
>> modular, or for when you have to work both inside and outside OSGi. It’s
>> not recommended to use them as your first development option.
>>
>> I wish you luck with your experiments!
>>
>> Best Regards,
>>
>> Tim
>>
>> On 6 Aug 2018, at 22:10, Nhut Thai Le  wrote:
>>
>> Hi Tim,
>>
>> The servlet is inside a WAB file which has a web.xml:
>>
>> 
>> http://java.sun.com/xml/ns/javaee;
>>  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance;
>>  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
>> http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd;
>>  version="3.0">
>> 
>> HelloWorld
>> com.webapp.HelloWorld
>> 
>>
>> 
>> HelloWorld
>> /
>> 
>> 
>>
>> I'm not trying to use the whiteboard pattern in the first place but
>> rather looking for a way to inject my AdminBroker service into my servlet
>> so I turn my servlet into a component in order to use the reference.
>>
>> Thai
>>
>>
>> On Mon, Aug 6, 2018 at 4:44 PM, Tim Ward  wrote:
>>
>>> I don’t see any Http Service whiteboard properties on the Servlet
>>> component. How are you registering it with the Servlet container?
>>>
>>> Tim
>>>
>>> Sent from my iPhone
>>>
>>> On 6 Aug 2018, at 16:22, Nhut Thai Le via osgi-dev <
>>> osgi-dev@mail.osgi.org> wrote:
>>>
>>> Hello,
>>>
>>> I have a servlet defined like this:
>>>
>>> @Component(service = Servlet.class)
>>> public class HelloWorld extends HttpServlet {
>>> @Reference(cardinality = ReferenceCardinality.MANDATORY)
>>> private AdminBroker adminBroker;
>>>
>>> protected void doGet(HttpServletRequest request, HttpServletResponse
>>> response) throws ServletException, IOException {
>>> adminBroker.doSomething();
>>> }
>>> }
>>>
>>> My AdminBroker implementation looks like:
>>> @Component(service=AdminBroker.class)
>>> public class AdminBrokerImpl implements AdminBroker {
>>> @Activate
>>> private void init() {
>>> String param1 = "some text";
>>> }
>>> }
>>>
>>> When I started the env (felix 6 with pax-web), I can see the AdminBroker
>>> instantiated (hit a break point 

Re: [osgi-dev] Reference not injected to component

2018-08-07 Thread Tim Ward via osgi-dev
You are aware that Servlet Filters are also supported by the whiteboard? See 
https://osgi.org/specification/osgi.cmpn/7.0.0/service.http.whiteboard.html#d0e121055
 


Just to reiterate my warning, continuing to develop a WAB will significantly 
affect your ability to reliably take advantage of OSGi specifications and 
services from your web code going forward. If you do have more problems then 
you will likely find that the future advice from this list is that you should 
migrate away from using a WAB.

Best Regards,

Tim

> On 7 Aug 2018, at 16:12, Nhut Thai Le  wrote:
> 
> Thanks Tim,
> 
> I'll stick with the WAB for now and use the BundleContext to get my service 
> since I need to config some security filter on the web.xml.
> 
> Thai
> 
> On Tue, Aug 7, 2018 at 4:15 AM, Tim Ward  > wrote:
> Hi,
> 
> I’m afraid that if you’re using a WAB file then you absolutely can’t use DS, 
> and vice versa. The Web Application Bundle specification exists as a 
> mechanism to allow people to move from a non-OSGi world into OSGi, and there 
> are a number of restrictions as a result. The one that you’re hitting is that 
> in a Web Application the Servlet container is responsible for instantiating 
> and managing the lifecycle of the Servlet instances. As a result you are 
> getting two instances created, one by DS which is injecting the AdminBroker 
> service, and one by the Servlet Container which isn’t injecting anything.
> 
> Assuming that this is a new project then by far the simplest way to fix this 
> is to completely avoid making a WAB, and just to use the Http Whiteboard. 
> This will simplify things immensely, and handle the service dynamics easily. 
> If you can’t avoid using the WAB then you do have access to the BundleContext 
> in your ServletContext (see 
> https://osgi.org/specification/osgi.cmpn/7.0.0/service.war.html#d0e101441 
> ). 
> You would have to use this to get the service you want to use (and release 
> it, and deal with what happens if it isn’t available).
> 
> In summary, WABs exist for specific use cases when you can’t be properly 
> modular, or for when you have to work both inside and outside OSGi. It’s not 
> recommended to use them as your first development option.
> 
> I wish you luck with your experiments!
> 
> Best Regards,
> 
> Tim
> 
>> On 6 Aug 2018, at 22:10, Nhut Thai Le > > wrote:
>> 
>> Hi Tim,
>> 
>> The servlet is inside a WAB file which has a web.xml:
>> 
>> 
>> http://java.sun.com/xml/ns/javaee 
>> "
>>  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance 
>> "
>>  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
>>  
>> http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd 
>> "
>>  version="3.0">
>>  
>>  HelloWorld
>>  com.webapp.HelloWorld
>>  
>> 
>>  
>>  HelloWorld
>>  /
>>  
>> 
>> 
>> I'm not trying to use the whiteboard pattern in the first place but rather 
>> looking for a way to inject my AdminBroker service into my servlet so I turn 
>> my servlet into a component in order to use the reference.
>> 
>> Thai
>> 
>> 
>> On Mon, Aug 6, 2018 at 4:44 PM, Tim Ward > > wrote:
>> I don’t see any Http Service whiteboard properties on the Servlet component. 
>> How are you registering it with the Servlet container?
>> 
>> Tim
>> 
>> Sent from my iPhone
>> 
>> On 6 Aug 2018, at 16:22, Nhut Thai Le via osgi-dev > > wrote:
>> 
>>> Hello,
>>> 
>>> I have a servlet defined like this:
>>> 
>>> @Component(service = Servlet.class)
>>> public class HelloWorld extends HttpServlet {
>>> @Reference(cardinality = ReferenceCardinality.MANDATORY)
>>> private AdminBroker adminBroker;
>>> 
>>> protected void doGet(HttpServletRequest request, HttpServletResponse 
>>> response) throws ServletException, IOException {   
>>> adminBroker.doSomething();
>>> }
>>> }
>>> 
>>> My AdminBroker implementation looks like:
>>> @Component(service=AdminBroker.class)
>>> public class AdminBrokerImpl implements AdminBroker {
>>> @Activate
>>> private void init() {
>>> String param1 = "some text";
>>> }
>>> }
>>> 
>>> When I started the env (felix 6 with pax-web), I can see the AdminBroker 
>>> instantiated (hit a break point in the init of my AdminBroker 
>>> implementation) but when the web request arrives and the doGet method is 
>>> called, the adminBroker is null.
>>> 
>>> Does anyone have an idea what may go wrong here?
>>> 
>>> Thai Le
>>> 
>>> -- 
>>> Castor Technologies Inc
>>> 460 rue St-Catherine St 
>>> 

Re: [osgi-dev] Reference not injected to component

2018-08-07 Thread Nhut Thai Le via osgi-dev
Thanks Tim,

I'll stick with the WAB for now and use the BundleContext to get my service
since I need to config some security filter on the web.xml.

Thai

On Tue, Aug 7, 2018 at 4:15 AM, Tim Ward  wrote:

> Hi,
>
> I’m afraid that if you’re using a WAB file then you absolutely can’t use
> DS, and vice versa. The Web Application Bundle specification exists as a
> mechanism to allow people to move from a non-OSGi world into OSGi, and
> there are a number of restrictions as a result. The one that you’re hitting
> is that in a Web Application the Servlet container is responsible for
> instantiating and managing the lifecycle of the Servlet instances. As a
> result you are getting two instances created, one by DS which is injecting
> the AdminBroker service, and one by the Servlet Container which isn’t
> injecting anything.
>
> Assuming that this is a new project then by far the simplest way to fix
> this is to completely avoid making a WAB, and just to use the Http
> Whiteboard. This will simplify things immensely, and handle the service
> dynamics easily. If you can’t avoid using the WAB then you do have access
> to the BundleContext in your ServletContext (see https://osgi.org/
> specification/osgi.cmpn/7.0.0/service.war.html#d0e101441). You would have
> to use this to get the service you want to use (and release it, and deal
> with what happens if it isn’t available).
>
> In summary, WABs exist for specific use cases when you can’t be properly
> modular, or for when you have to work both inside and outside OSGi. It’s
> not recommended to use them as your first development option.
>
> I wish you luck with your experiments!
>
> Best Regards,
>
> Tim
>
> On 6 Aug 2018, at 22:10, Nhut Thai Le  wrote:
>
> Hi Tim,
>
> The servlet is inside a WAB file which has a web.xml:
>
> 
> http://java.sun.com/xml/ns/javaee;
>  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance;
>  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
> http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd;
>  version="3.0">
> 
> HelloWorld
> com.webapp.HelloWorld
> 
>
> 
> HelloWorld
> /
> 
> 
>
> I'm not trying to use the whiteboard pattern in the first place but rather
> looking for a way to inject my AdminBroker service into my servlet so I
> turn my servlet into a component in order to use the reference.
>
> Thai
>
>
> On Mon, Aug 6, 2018 at 4:44 PM, Tim Ward  wrote:
>
>> I don’t see any Http Service whiteboard properties on the Servlet
>> component. How are you registering it with the Servlet container?
>>
>> Tim
>>
>> Sent from my iPhone
>>
>> On 6 Aug 2018, at 16:22, Nhut Thai Le via osgi-dev <
>> osgi-dev@mail.osgi.org> wrote:
>>
>> Hello,
>>
>> I have a servlet defined like this:
>>
>> @Component(service = Servlet.class)
>> public class HelloWorld extends HttpServlet {
>> @Reference(cardinality = ReferenceCardinality.MANDATORY)
>> private AdminBroker adminBroker;
>>
>> protected void doGet(HttpServletRequest request, HttpServletResponse
>> response) throws ServletException, IOException {
>> adminBroker.doSomething();
>> }
>> }
>>
>> My AdminBroker implementation looks like:
>> @Component(service=AdminBroker.class)
>> public class AdminBrokerImpl implements AdminBroker {
>> @Activate
>> private void init() {
>> String param1 = "some text";
>> }
>> }
>>
>> When I started the env (felix 6 with pax-web), I can see the AdminBroker
>> instantiated (hit a break point in the init of my AdminBroker
>> implementation) but when the web request arrives and the doGet method is
>> called, the adminBroker is null.
>>
>> Does anyone have an idea what may go wrong here?
>>
>> Thai Le
>>
>> --
>> Castor Technologies Inc
>> 460 rue St-Catherine St
>> 
>> Ouest, Suite 613
>> Montréal, Québec H3B-1A7
>> (514) 360-7208 o
>> (514) 798-2044 f
>> n...@castortech.com
>> www.castortech.com
>>
>> CONFIDENTIALITY NOTICE: The information contained in this e-mail is
>> confidential and may be proprietary information intended only for the use
>> of the individual or entity to whom it is addressed. If the reader of this
>> message is not the intended recipient, you are hereby notified that any
>> viewing, dissemination, distribution, disclosure, copy or use of the
>> information contained in this e-mail message is strictly prohibited. If you
>> have received and/or are viewing this e-mail in error, please immediately
>> notify the sender by reply e-mail, and delete it from your system without
>> reading, forwarding, copying or saving in any manner. Thank you.
>> AVIS DE CONFIDENTIALITE: L’information contenue dans ce message est
>> confidentiel, peut être protégé par le secret professionnel et est réservé
>> à l'usage exclusif du destinataire. Toute autre personne est par les
>> présentes avisée qu'il lui est strictement interdit de diffuser, distribuer
>> ou reproduire ce message. Si vous avez reçu cette communication par erreur,
>> veuillez la détruire immédiatement et en aviser 

Re: [osgi-dev] Reference not injected to component

2018-08-07 Thread Tim Ward via osgi-dev
Hi,

I’m afraid that if you’re using a WAB file then you absolutely can’t use DS, 
and vice versa. The Web Application Bundle specification exists as a mechanism 
to allow people to move from a non-OSGi world into OSGi, and there are a number 
of restrictions as a result. The one that you’re hitting is that in a Web 
Application the Servlet container is responsible for instantiating and managing 
the lifecycle of the Servlet instances. As a result you are getting two 
instances created, one by DS which is injecting the AdminBroker service, and 
one by the Servlet Container which isn’t injecting anything.

Assuming that this is a new project then by far the simplest way to fix this is 
to completely avoid making a WAB, and just to use the Http Whiteboard. This 
will simplify things immensely, and handle the service dynamics easily. If you 
can’t avoid using the WAB then you do have access to the BundleContext in your 
ServletContext (see 
https://osgi.org/specification/osgi.cmpn/7.0.0/service.war.html#d0e101441 
). 
You would have to use this to get the service you want to use (and release it, 
and deal with what happens if it isn’t available).

In summary, WABs exist for specific use cases when you can’t be properly 
modular, or for when you have to work both inside and outside OSGi. It’s not 
recommended to use them as your first development option.

I wish you luck with your experiments!

Best Regards,

Tim

> On 6 Aug 2018, at 22:10, Nhut Thai Le  wrote:
> 
> Hi Tim,
> 
> The servlet is inside a WAB file which has a web.xml:
> 
> 
> http://java.sun.com/xml/ns/javaee 
> "
>  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance 
> "
>  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
>  
> http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd 
> "
>  version="3.0">
>   
>   HelloWorld
>   com.webapp.HelloWorld
>   
> 
>   
>   HelloWorld
>   /
>   
> 
> 
> I'm not trying to use the whiteboard pattern in the first place but rather 
> looking for a way to inject my AdminBroker service into my servlet so I turn 
> my servlet into a component in order to use the reference.
> 
> Thai
> 
> 
> On Mon, Aug 6, 2018 at 4:44 PM, Tim Ward  > wrote:
> I don’t see any Http Service whiteboard properties on the Servlet component. 
> How are you registering it with the Servlet container?
> 
> Tim
> 
> Sent from my iPhone
> 
> On 6 Aug 2018, at 16:22, Nhut Thai Le via osgi-dev  > wrote:
> 
>> Hello,
>> 
>> I have a servlet defined like this:
>> 
>> @Component(service = Servlet.class)
>> public class HelloWorld extends HttpServlet {
>>  @Reference(cardinality = ReferenceCardinality.MANDATORY)
>>  private AdminBroker adminBroker;
>> 
>>  protected void doGet(HttpServletRequest request, HttpServletResponse 
>> response) throws ServletException, IOException {   
>>  adminBroker.doSomething();
>>  }
>> }
>> 
>> My AdminBroker implementation looks like:
>> @Component(service=AdminBroker.class)
>> public class AdminBrokerImpl implements AdminBroker {
>>  @Activate
>>  private void init() {
>>  String param1 = "some text";
>>  }
>> }
>> 
>> When I started the env (felix 6 with pax-web), I can see the AdminBroker 
>> instantiated (hit a break point in the init of my AdminBroker 
>> implementation) but when the web request arrives and the doGet method is 
>> called, the adminBroker is null.
>> 
>> Does anyone have an idea what may go wrong here?
>> 
>> Thai Le
>> 
>> -- 
>> Castor Technologies Inc
>> 460 rue St-Catherine St 
>>  
>> Ouest, Suite 613 
>> Montréal, Québec H3B-1A7
>> (514) 360-7208 o
>> (514) 798-2044 f
>> n...@castortech.com 
>> www.castortech.com  
>> 
>> CONFIDENTIALITY NOTICE: The information contained in this e-mail is 
>> confidential and may be proprietary information intended only for the use of 
>> the individual or entity to whom it is addressed. If the reader of this 
>> message is not the intended recipient, you are hereby notified that any 
>> viewing, dissemination, distribution, disclosure, copy or use of the 
>> information contained in this e-mail message is strictly prohibited. If you 
>> have received and/or are viewing this e-mail in error, please immediately 
>> notify the sender by reply e-mail, and delete it from your system without 
>> reading, forwarding, copying or saving in any manner. Thank you.
>> AVIS DE CONFIDENTIALITE: L’information contenue dans ce message est 
>> confidentiel, peut être protégé par le secret professionnel et est réservé à 

Re: [osgi-dev] Reference not injected to component

2018-08-06 Thread Nhut Thai Le via osgi-dev
Hi Tim,

The servlet is inside a WAB file which has a web.xml:


http://java.sun.com/xml/ns/javaee;
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance;
 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd;
 version="3.0">

HelloWorld
com.webapp.HelloWorld



HelloWorld
/



I'm not trying to use the whiteboard pattern in the first place but rather
looking for a way to inject my AdminBroker service into my servlet so I
turn my servlet into a component in order to use the reference.

Thai


On Mon, Aug 6, 2018 at 4:44 PM, Tim Ward  wrote:

> I don’t see any Http Service whiteboard properties on the Servlet
> component. How are you registering it with the Servlet container?
>
> Tim
>
> Sent from my iPhone
>
> On 6 Aug 2018, at 16:22, Nhut Thai Le via osgi-dev 
> wrote:
>
> Hello,
>
> I have a servlet defined like this:
>
> @Component(service = Servlet.class)
> public class HelloWorld extends HttpServlet {
> @Reference(cardinality = ReferenceCardinality.MANDATORY)
> private AdminBroker adminBroker;
>
> protected void doGet(HttpServletRequest request, HttpServletResponse
> response) throws ServletException, IOException {
> adminBroker.doSomething();
> }
> }
>
> My AdminBroker implementation looks like:
> @Component(service=AdminBroker.class)
> public class AdminBrokerImpl implements AdminBroker {
> @Activate
> private void init() {
> String param1 = "some text";
> }
> }
>
> When I started the env (felix 6 with pax-web), I can see the AdminBroker
> instantiated (hit a break point in the init of my AdminBroker
> implementation) but when the web request arrives and the doGet method is
> called, the adminBroker is null.
>
> Does anyone have an idea what may go wrong here?
>
> Thai Le
>
> --
> Castor Technologies Inc
> 460 rue St-Catherine St
> 
> Ouest, Suite 613
> Montréal, Québec H3B-1A7
> (514) 360-7208 o
> (514) 798-2044 f
> n...@castortech.com
> www.castortech.com
>
> CONFIDENTIALITY NOTICE: The information contained in this e-mail is
> confidential and may be proprietary information intended only for the use
> of the individual or entity to whom it is addressed. If the reader of this
> message is not the intended recipient, you are hereby notified that any
> viewing, dissemination, distribution, disclosure, copy or use of the
> information contained in this e-mail message is strictly prohibited. If you
> have received and/or are viewing this e-mail in error, please immediately
> notify the sender by reply e-mail, and delete it from your system without
> reading, forwarding, copying or saving in any manner. Thank you.
> AVIS DE CONFIDENTIALITE: L’information contenue dans ce message est
> confidentiel, peut être protégé par le secret professionnel et est réservé
> à l'usage exclusif du destinataire. Toute autre personne est par les
> présentes avisée qu'il lui est strictement interdit de diffuser, distribuer
> ou reproduire ce message. Si vous avez reçu cette communication par erreur,
> veuillez la détruire immédiatement et en aviser l'expéditeur. Merci.
>
> ___
> OSGi Developer Mail List
> osgi-dev@mail.osgi.org
> https://mail.osgi.org/mailman/listinfo/osgi-dev
>
>


-- 
Castor Technologies Inc
460 rue St-Catherine St Ouest, Suite 613
Montréal, Québec H3B-1A7
(514) 360-7208 o
(514) 798-2044 f
n...@castortech.com
www.castortech.com

CONFIDENTIALITY NOTICE: The information contained in this e-mail is
confidential and may be proprietary information intended only for the use
of the individual or entity to whom it is addressed. If the reader of this
message is not the intended recipient, you are hereby notified that any
viewing, dissemination, distribution, disclosure, copy or use of the
information contained in this e-mail message is strictly prohibited. If you
have received and/or are viewing this e-mail in error, please immediately
notify the sender by reply e-mail, and delete it from your system without
reading, forwarding, copying or saving in any manner. Thank you.
AVIS DE CONFIDENTIALITE: L’information contenue dans ce message est
confidentiel, peut être protégé par le secret professionnel et est réservé
à l'usage exclusif du destinataire. Toute autre personne est par les
présentes avisée qu'il lui est strictement interdit de diffuser, distribuer
ou reproduire ce message. Si vous avez reçu cette communication par erreur,
veuillez la détruire immédiatement et en aviser l'expéditeur. Merci.
___
OSGi Developer Mail List
osgi-dev@mail.osgi.org
https://mail.osgi.org/mailman/listinfo/osgi-dev

Re: [osgi-dev] Reference not injected to component

2018-08-06 Thread Tim Ward via osgi-dev
I don’t see any Http Service whiteboard properties on the Servlet component. 
How are you registering it with the Servlet container?

Tim

Sent from my iPhone

> On 6 Aug 2018, at 16:22, Nhut Thai Le via osgi-dev  
> wrote:
> 
> Hello,
> 
> I have a servlet defined like this:
> 
> @Component(service = Servlet.class)
> public class HelloWorld extends HttpServlet {
>   @Reference(cardinality = ReferenceCardinality.MANDATORY)
>   private AdminBroker adminBroker;
> 
>   protected void doGet(HttpServletRequest request, HttpServletResponse 
> response) throws ServletException, IOException {   
>   adminBroker.doSomething();
>   }
> }
> 
> My AdminBroker implementation looks like:
> @Component(service=AdminBroker.class)
> public class AdminBrokerImpl implements AdminBroker {
>   @Activate
>   private void init() {
>   String param1 = "some text";
>   }
> }
> 
> When I started the env (felix 6 with pax-web), I can see the AdminBroker 
> instantiated (hit a break point in the init of my AdminBroker implementation) 
> but when the web request arrives and the doGet method is called, the 
> adminBroker is null.
> 
> Does anyone have an idea what may go wrong here?
> 
> Thai Le
> 
> -- 
> Castor Technologies Inc
> 460 rue St-Catherine St Ouest, Suite 613 
> Montréal, Québec H3B-1A7
> (514) 360-7208 o
> (514) 798-2044 f
> n...@castortech.com
> www.castortech.com 
> 
> CONFIDENTIALITY NOTICE: The information contained in this e-mail is 
> confidential and may be proprietary information intended only for the use of 
> the individual or entity to whom it is addressed. If the reader of this 
> message is not the intended recipient, you are hereby notified that any 
> viewing, dissemination, distribution, disclosure, copy or use of the 
> information contained in this e-mail message is strictly prohibited. If you 
> have received and/or are viewing this e-mail in error, please immediately 
> notify the sender by reply e-mail, and delete it from your system without 
> reading, forwarding, copying or saving in any manner. Thank you.
> AVIS DE CONFIDENTIALITE: L’information contenue dans ce message est 
> confidentiel, peut être protégé par le secret professionnel et est réservé à 
> l'usage exclusif du destinataire. Toute autre personne est par les présentes 
> avisée qu'il lui est strictement interdit de diffuser, distribuer ou 
> reproduire ce message. Si vous avez reçu cette communication par erreur, 
> veuillez la détruire immédiatement et en aviser l'expéditeur. Merci.
> ___
> OSGi Developer Mail List
> osgi-dev@mail.osgi.org
> https://mail.osgi.org/mailman/listinfo/osgi-dev
___
OSGi Developer Mail List
osgi-dev@mail.osgi.org
https://mail.osgi.org/mailman/listinfo/osgi-dev

[osgi-dev] Reference not injected to component

2018-08-06 Thread Nhut Thai Le via osgi-dev
Hello,

I have a servlet defined like this:

@Component(service = Servlet.class)
public class HelloWorld extends HttpServlet {
@Reference(cardinality = ReferenceCardinality.MANDATORY)
private AdminBroker adminBroker;

protected void doGet(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
adminBroker.doSomething();
}
}

My AdminBroker implementation looks like:
@Component(service=AdminBroker.class)
public class AdminBrokerImpl implements AdminBroker {
@Activate
private void init() {
String param1 = "some text";
}
}

When I started the env (felix 6 with pax-web), I can see the AdminBroker
instantiated (hit a break point in the init of my AdminBroker
implementation) but when the web request arrives and the doGet method is
called, the adminBroker is null.

Does anyone have an idea what may go wrong here?

Thai Le

-- 
Castor Technologies Inc
460 rue St-Catherine St Ouest, Suite 613
Montréal, Québec H3B-1A7
(514) 360-7208 o
(514) 798-2044 f
n...@castortech.com
www.castortech.com

CONFIDENTIALITY NOTICE: The information contained in this e-mail is
confidential and may be proprietary information intended only for the use
of the individual or entity to whom it is addressed. If the reader of this
message is not the intended recipient, you are hereby notified that any
viewing, dissemination, distribution, disclosure, copy or use of the
information contained in this e-mail message is strictly prohibited. If you
have received and/or are viewing this e-mail in error, please immediately
notify the sender by reply e-mail, and delete it from your system without
reading, forwarding, copying or saving in any manner. Thank you.
AVIS DE CONFIDENTIALITE: L’information contenue dans ce message est
confidentiel, peut être protégé par le secret professionnel et est réservé
à l'usage exclusif du destinataire. Toute autre personne est par les
présentes avisée qu'il lui est strictement interdit de diffuser, distribuer
ou reproduire ce message. Si vous avez reçu cette communication par erreur,
veuillez la détruire immédiatement et en aviser l'expéditeur. Merci.
___
OSGi Developer Mail List
osgi-dev@mail.osgi.org
https://mail.osgi.org/mailman/listinfo/osgi-dev