Yeah..........
Thank you for the link to the ticket.

This is exactly what I've just found.
That's the reason why nothing works for me even when I deploy the bundle 
with ServletContextListener BEFORE the bundle which registers Servlet.

The reason is: I have a filter in the service declaration:

*@Component*(immediate = true, property = {

        HttpWhiteboardConstants.*HTTP_WHITEBOARD_LISTENER* + "=true",

        HttpWhiteboardConstants.*HTTP_WHITEBOARD_CONTEXT_SELECT* + "=("

                + HttpWhiteboardConstants.*HTTP_WHITEBOARD_CONTEXT_NAME*

                + "=*)" }, service = { ServletContextListener.class,

                        TestServletContextListener.class }, scope = 
*ServiceScope*.*SINGLETON*)

And exactly the same bundle with one single TestServletContextListener 
which worked (as I mentioned before) 
immediately stopped to work after this change.

So thank you for confirmation about that issue.

OK, I will have to find the ways to workaround these issues.
In the end there is always a choice to use felix-jetty impl for HTTP 
WHITEBOARD instead of PAX.
On Friday, January 22, 2021 at 10:30:50 AM UTC+3 [email protected] wrote:

> Hello
>
> Yes - you found the problematic aspect of Pax Web... I'm really trying to 
> handle such scenarios in consistent way in Pax Web 8. There's huge amount 
> of changes coming (see 
> https://github.com/ops4j/org.ops4j.pax.web/commits/master-improvements 
> branch) and listeners, ServletContainerInitializers (which also are not 
> handled properly in Pax Web 7) are among the refactored changes.
>
> Pax Web 7 is the final (before version 8) step in evolution of the 
> implementation which started simply as implementation of HttpService which 
> had ... 3 methods - registration of servlets, registration of resources and 
> unregistration of the two...
> Then the whiteboard implementation came (and OSGi CMPN Whiteboard 
> specification is actually inspired by Pax Web itself) and in parallel - 
> WAR/WAB support.
>
> For WAR/WAB purposes, a concept of "web applications" was introduced in 
> Pax Web, but still based (underneath) on a WebContainer (an extension of 
> HttpService). Ensuring that listeners start before servlets/filters is 
> tricky, especially because lot of intermediary layers between the 
> HttpService implementation and actual Jetty/Tomcat/Undertow.
> On one side, Jetty (or other container) has to start immediately after the 
> servlet is registered, but if "later" elements are registered the container 
> has to be "restarted" (which is not full restart) and this is really not 
> handled consistently (see my previous explanation of NOTSET vs INITIALIZED 
> states).
>
> The final argument for me to rewrite Pax Web was ... 
> https://ops4j1.jira.com/browse/PAXWEB-1123 and:
>
> osgi.http.whiteboard.context.select=(osgi.http.whiteboard.context.name=*)
>
> context selector filter - this itself was a reason to fully refactor all 
> the internal Pax Web models.
>
> So for now I'm afraid you don't have much choice.
>
> regards
> Grzegorz Grzybek
>
>
> pt., 22 sty 2021 o 07:15 Denis Anisimov <[email protected]> napisał(a):
>
>> Intersting.....
>> I've modified the project so that the Servlet class requires the listener 
>> class.
>> Which means that at least the service should be registered before the 
>> servlet service.
>> But it doesn't help: listener is not called anyway.
>> Here is the project code: 
>> https://github.com/denis-anisimov/simple-web/tree/wait-listener
>>
>> The only thing which finally worked is: move the listener out of the 
>> Servlet project into a separate bundle.
>> Install and deploy it first.
>> Then install and deploy the project with Servlet.
>> Then I get the context initialization event finally.
>>
>> On Thursday, January 21, 2021 at 2:03:29 PM UTC+3 Denis Anisimov wrote:
>>
>>> Thanks a lot for your reply.
>>>
>>> Looks like you are talking about this issue: 
>>> https://ops4j1.jira.com/browse/PAXWEB-62
>>> But it's extremely old and it's closed so I though it's resolved.
>>>
>>> In my example it's not known when the listener is registered: before the 
>>> servlet is registered and servlet context is initialized or after.
>>> You are right here.
>>> But I've started from another example where the listener is declared via 
>>> DS in a separate bundle.
>>> And I had deployed this bundle first : so it's registered as a service 
>>> by PAX.
>>> Then I've deployed the web bundle and the listener has not been called 
>>> anyway.
>>>
>>> So personally for me regardless of the order of listener registration 
>>> (before or after servlet) it's never called.
>>>
>>> The related topic for this : it's possible to declare 
>>> `ServletContexHelper`  with a given name. Then I can 
>>> require to register a `Servlet` , any listener for the context 
>>> identified by the name. But what happens if there
>>> is no such context helper registered YET ? In the same way I may declare 
>>> the helper in a different bundle and
>>> it's not possible to say when it will be registered : before or after 
>>> the servlet.
>>> So what will happen in that case: will it wait until the context helper 
>>> appear with the given name or just 
>>> simply fails because there is no helper with this name ?
>>> I expect that it won't fail and wait until the helper appears . Because 
>>> otherwise I need to write boilerplate
>>> code which waits for the appearance of the service which normally I 
>>> should not even know about 
>>> (via ServiceTracker or via @Reference). This is extremely inconvenient.
>>> And the same situation is here with  `ServletContexListener`: I have to 
>>> wait until it's registered and register the servlet
>>> only after that.
>>> By the way I will check that : whether this work at all or not.
>>>
>>> But anyway: this looks like a bug because you may not rely on the order 
>>> of listener registration: the listener should be called even if the servlet 
>>> context 
>>> of the web app "has been already initialized". As I understand this is 
>>> exactly what https://ops4j1.jira.com/browse/PAXWEB-62 issue says.
>>>
>>> Also this is exactly how felix-jetty work: the servlet may be already 
>>> intialized (registered and then even initialized) but once the servlet 
>>> context listener
>>> is registered it's called anyway.
>>> That's why the behavior was quite confusing for me.
>>>
>>> But as I understand you confirmed that this does't work properly in pax 
>>> web 7 and this is what you are working on for pax web 8.
>>> Thank you .
>>>
>>> >And about Pax Web issues - please let me know the login/email you've 
>>> used in ops4j JIRA and I'll give you proper permissions. I can't see 
>>> [email protected] <https://groups.google.com/> in OPS4j JIRA user list.
>>>
>>> I've been trying to login with my Google account [email protected] 
>>> <https://groups.google.com/> but then it immediately says that this 
>>> account has no access to JIRA.
>>> I've registered another account "den     *@*     admincomps   *dot*    
>>>  ru"
>>> At least I've received the e-mail which confirms the registration.
>>> Could you please try that ?
>>>
>>>
>>> On Thursday, January 21, 2021 at 1:20:49 PM UTC+3 [email protected] 
>>> wrote:
>>>
>>>> Hello
>>>>
>>>> I've checked your project and you're nicely using SCRs to register a 
>>>> listener and a servlet.
>>>>
>>>> But you can't be sure which SCR component registers its service first! 
>>>> And even if you could know it (there are tricks to add a @Reference from 
>>>> one @Component to a service of other @Component), you would STILL not be 
>>>> sure which will be first tracked by pax-web-extender-whiteboard!
>>>>
>>>> I found this SCR problem which was never resolved in pax web 7 and 
>>>> earlier and I described it in my Pax Web 8 refactoring branch: 
>>>> https://github.com/ops4j/org.ops4j.pax.web/tree/master-improvements/samples/samples-whiteboard/whiteboard-ds
>>>>
>>>> So I checked that Jetty's "context" is started immediately after your 
>>>> servlet is being registered. This is the thread trace that starts Jetty:
>>>>
>>>> "pipe-start 109@10061" prio=5 tid=0x17f nid=NA runnable
>>>>   java.lang.Thread.State: RUNNABLE
>>>>  at 
>>>> org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:348)
>>>>  at 
>>>> org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.startContext(HttpServiceContext.java:392)
>>>>  at 
>>>> org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:855)
>>>>  at 
>>>> org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:275)
>>>>  at 
>>>> org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doStart(HttpServiceContext.java:268)
>>>>  at 
>>>> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
>>>>  - locked <0x283c> (a java.lang.Object)
>>>>  at 
>>>> org.ops4j.pax.web.service.jetty.internal.JettyServerImpl$1.start(JettyServerImpl.java:327)
>>>>  at 
>>>> org.ops4j.pax.web.service.internal.HttpServiceStarted.registerServlet(HttpServiceStarted.java:255)
>>>> ...
>>>>  at 
>>>> org.ops4j.pax.web.extender.whiteboard.internal.element.ServletWebElement.register(ServletWebElement.java:102)
>>>> ...
>>>>  at 
>>>> org.ops4j.pax.web.extender.whiteboard.internal.tracker.AbstractTracker.addingService(AbstractTracker.java:44)
>>>> ...
>>>>  at org.apache.felix.framework.Felix.registerService(Felix.java:3804)
>>>>  at 
>>>> org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:328)
>>>>  at 
>>>> org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:929)
>>>> ...
>>>>  at 
>>>> org.apache.karaf.bundle.command.BundlesCommand.execute(BundlesCommand.java:55)
>>>>  at 
>>>> org.apache.karaf.shell.impl.action.command.ActionCommand.execute(ActionCommand.java:84)
>>>>
>>>> and when org.eclipse.jetty.servlet.ServletContextHandler starts, 
>>>> there's only one listener available - 
>>>> org.eclipse.jetty.websocket.jsr356.server.deploy.WebSocketServerContainerInitializer$ContextDestroyListener.
>>>>
>>>> org.eclipse.jetty.server.handler.ContextHandler#callContextInitialized() 
>>>> is called when the context is at 
>>>> org.eclipse.jetty.server.handler.ContextHandler.ContextStatus#NOTSET state 
>>>> and then switches to INITIALIZED.
>>>>
>>>> Then when your listener is added (after the servlet), Pax Web 7 tries 
>>>> hard to unregister your first servlet (correctly) to register it again 
>>>> after registering the listener. 
>>>> org.eclipse.jetty.server.handler.ContextHandler#addEventListener() is 
>>>> properly called, then 
>>>> org.eclipse.jetty.servlet.ServletHandler#setServletMappings(), cache of 
>>>> mappings is invalidated.
>>>>
>>>> And while 
>>>> org.eclipse.jetty.server.handler.ContextHandler#_servletContextListeners 
>>>> contains your org.example.TestServletContextListener, it is NOT called 
>>>> because org.eclipse.jetty.server.handler.ContextHandler#_contextStatus is 
>>>> not NOTSET, but INITIALIZED.
>>>>
>>>> So that's the problem with Pax Web 7.
>>>>
>>>> I'm really trying hard to handle all such cases in Pax Web 8, but I 
>>>> can't do it 8hrs a day ;) That's why it's still not ready yet.
>>>>
>>>> And about Pax Web issues - please let me know the login/email you've 
>>>> used in ops4j JIRA and I'll give you proper permissions. I can't see 
>>>> [email protected] in OPS4j JIRA user list.
>>>>
>>>> regards
>>>> Grzegorz Grzybek
>>>>
>>>> czw., 21 sty 2021 o 10:12 Denis Anisimov <[email protected]> napisał(a):
>>>>
>>>>> Hi I have the same problem.
>>>>>
>>>>> I'm trying to get it working in Karaf.
>>>>> So I'm not sure whether this a Karaf issue or PAX-web.
>>>>>
>>>>> I can provide steps to reproduce with Karaf:
>>>>> - Download Karaf 4.3.0
>>>>> - Extract it.
>>>>> - Run it via ./bin/karaf
>>>>> - invoke commands in the Karaf shell: "feature:install 
>>>>> httpfeature:install war"
>>>>> - install logger  via the Karaf shell: "bundle:install -s 
>>>>> mvn:org.slf4j/slf4j-simple/1.7.25 bundle:install -s 
>>>>> mvn:org.slf4j/slf4j-api/1.7.25"
>>>>> - Use this project https://github.com/denis-anisimov/simple-web
>>>>> - install the project locally
>>>>> - install the attached project : "bundle:install -s 
>>>>> mvn:org.example/simple-web/1.0.0"
>>>>> - open the browser "http://localhost:8181/";.
>>>>> - the servlet is working : the message is shown in the browser.
>>>>> - but the "TestServletContextListener::contextInitialized" is never 
>>>>> invoked. Neither console not log contains expected message.
>>>>>
>>>>> Is it a bug in PAX-web?  Karaf ?
>>>>> Or am I doing somethig wrong ?
>>>>> ServletContextListener works as expected in the felix-jetty .
>>>>>
>>>>> By the way : how can I create an issue for PAX? Once I create an 
>>>>> account to login to JIRA it says I don't have access to it. 
>>>>> And I may not create a ticket.
>>>>> On Tuesday, March 5, 2019 at 8:20:45 AM UTC+3 [email protected] 
>>>>> wrote:
>>>>>
>>>>>> Hello
>>>>>>
>>>>>> Did you try registering separate listeners instead of one with 
>>>>>> different interfaces?
>>>>>>
>>>>>> I'm not sure about this ValidatorException. Try running mvn with -e 
>>>>>> option to show full stack traces.
>>>>>>
>>>>>> regards
>>>>>> Grzegorz Grzybek
>>>>>>
>>>>>> czw., 14 lut 2019 o 23:45 Nhut Thai Le <[email protected]> 
>>>>>> napisał(a):
>>>>>>
>>>>>>> Hello again,
>>>>>>> For some reason, i was able to get my ServletContextListener working 
>>>>>>> for a while then now i need to added another one (for different app 
>>>>>>> context) and i found that both the new and old one does not work 
>>>>>>> anymore. 
>>>>>>> My other HttpSessionListener is still working fine. Funny is that both 
>>>>>>> the 
>>>>>>> ServletContextListener and the HttpSessionListener is extended by the 
>>>>>>> same 
>>>>>>> class:
>>>>>>>
>>>>>>> @Component(
>>>>>>> service= {
>>>>>>> javax.servlet.http.HttpSessionListener.class,
>>>>>>> ServletContextListener.class
>>>>>>> },
>>>>>>> property= {
>>>>>>> "osgi.http.whiteboard.listener=true",
>>>>>>> "osgi.http.whiteboard.context.select=(
>>>>>>> osgi.http.whiteboard.context.name=WebviewerServletContextHelper)",
>>>>>>> "listener.name=WebviewerServletContextListener"
>>>>>>> }
>>>>>>> )
>>>>>>> public final class ZkListener implements 
>>>>>>> javax.servlet.http.HttpSessionListener, ServletContextListener {}
>>>>>>>
>>>>>>> Where should i start debugging this?
>>>>>>>
>>>>>>> By the way, I tried to the command to run test on jetty that you 
>>>>>>> suggested and i got:
>>>>>>> [INFO] 
>>>>>>> ------------------------------------------------------------------------
>>>>>>> [INFO] BUILD FAILURE
>>>>>>> [INFO] 
>>>>>>> ------------------------------------------------------------------------
>>>>>>> [INFO] Total time: 19.390 s
>>>>>>> [INFO] Finished at: 2019-02-14T17:32:16-05:00
>>>>>>> [INFO] Final Memory: 24M/274M
>>>>>>> [INFO] 
>>>>>>> ------------------------------------------------------------------------
>>>>>>> [ERROR] Failed to execute goal on project 
>>>>>>> pax-web-itest-container-jetty: Could not resolve dependencies for 
>>>>>>> project 
>>>>>>> org.ops4j.pax.web.itest.container:pax-web-itest-container-jetty:jar:7.2.9-SNAPSHOT:
>>>>>>>  
>>>>>>> Failed to collect dependencies at 
>>>>>>> org.ops4j.pax.web.itest:pax-web-itest-base:jar:7.2.9-SNAPSHOT: Failed 
>>>>>>> to 
>>>>>>> read artifact descriptor for 
>>>>>>> org.ops4j.pax.web.itest:pax-web-itest-base:jar:7.2.9-SNAPSHOT: Could 
>>>>>>> not 
>>>>>>> transfer artifact 
>>>>>>> org.ops4j.pax.web.itest:pax-web-itest-base:pom:7.2.9-SNAPSHOT from/to 
>>>>>>> prime-repo (http://repository.primefaces.org): 
>>>>>>> sun.security.validator.ValidatorException: PKIX path building failed: 
>>>>>>> sun.security.provider.certpath.SunCertPathBuilderException: unable to 
>>>>>>> find 
>>>>>>> valid certification path to requested target -> [Help 1]
>>>>>>>
>>>>>>> Not sure what is wrong with my cert.
>>>>>>>
>>>>>>> On Tue, Oct 2, 2018 at 4:19 AM Grzegorz Grzybek <[email protected]> 
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Hello
>>>>>>>>
>>>>>>>> Sorry for late answer. There's testListenersWithHttpContext() test 
>>>>>>>> here: 
>>>>>>>> https://github.com/ops4j/org.ops4j.pax.web/blob/pax-web-7.2.x/pax-web-itest/pax-web-itest-common/src/main/java/org/ops4j/pax/web/itest/common/AbstractWhiteboardR6IntegrationTest.java#L289
>>>>>>>>
>>>>>>>> It does exactly what you're trying to achieve, but without SCR - 
>>>>>>>> only by registering relevant services. You can run the test from 
>>>>>>>> within any 
>>>>>>>> of three container itest projects:
>>>>>>>>
>>>>>>>> mvn clean verify -f 
>>>>>>>> pax-web-itest/pax-web-itest-container/pax-web-itest-container-jetty/ 
>>>>>>>> -Dit.test=WhiteboardR6IntegrationTest#testListenersWithHttpContext
>>>>>>>> mvn clean verify -f 
>>>>>>>> pax-web-itest/pax-web-itest-container/pax-web-itest-container-tomcat/ 
>>>>>>>> -Dit.test=WhiteboardR6IntegrationTest#testListenersWithHttpContext
>>>>>>>> mvn clean verify -f 
>>>>>>>> pax-web-itest/pax-web-itest-container/pax-web-itest-container-undertow/
>>>>>>>>  
>>>>>>>> -Dit.test=WhiteboardR6IntegrationTest#testListenersWithHttpContext
>>>>>>>>
>>>>>>>> I'm not sure what may be your problem (maybe you'll share your 
>>>>>>>> maven project via github?) - but this may be related to some other 
>>>>>>>> bundles 
>>>>>>>> you have installed in your runtime (pure Equinox? pax-exam test? Karaf 
>>>>>>>> based on Equinox?) - which may cause problems with finding services 
>>>>>>>> you 
>>>>>>>> register by pax-web-extender-whiteboard.
>>>>>>>>
>>>>>>>> best regards
>>>>>>>> Grzegorz Grzybek
>>>>>>>>
>>>>>>>> pon., 24 wrz 2018 o 22:13 Nhut Thai Le <[email protected]> 
>>>>>>>> napisał(a):
>>>>>>>>
>>>>>>>>> Hello,
>>>>>>>>>
>>>>>>>>> I tried to hook a servletContextListener to my custom 
>>>>>>>>> ServletContextHelper but the contextInitialized method is not called.
>>>>>>>>> -------------------Here is my ServletContextHelper:------------
>>>>>>>>> @Component(
>>>>>>>>> service = ServletContextHelper.class,
>>>>>>>>> property = {
>>>>>>>>> "osgi.http.whiteboard.context.name
>>>>>>>>> =ZkComponentsServletContextHelper",
>>>>>>>>> "osgi.http.whiteboard.context.path=/components"
>>>>>>>>> }
>>>>>>>>> )
>>>>>>>>> public class ZkComponentsServletContextHelper extends 
>>>>>>>>> ServletContextHelper {...}
>>>>>>>>> --------------------------------My ServletContextListener----------
>>>>>>>>> @Component(
>>>>>>>>> name="ZkListener",
>>>>>>>>> service= {
>>>>>>>>> ServletContextListener.class
>>>>>>>>> },
>>>>>>>>> property= {
>>>>>>>>> "osgi.http.whiteboard.listener=true",
>>>>>>>>> "osgi.http.whiteboard.context.select=(
>>>>>>>>> osgi.http.whiteboard.context.name
>>>>>>>>> =ZkComponentsServletContextHelper)"
>>>>>>>>> }
>>>>>>>>> )
>>>>>>>>> public final class ZkSessionListener implements 
>>>>>>>>> ServletContextListener {
>>>>>>>>> private WebManager webManager;
>>>>>>>>>
>>>>>>>>> @Override
>>>>>>>>> public void contextInitialized(ServletContextEvent sce) {
>>>>>>>>> final ServletContext ctx = sce.getServletContext();
>>>>>>>>> if (WebManager.getWebManagerIfAny(ctx) == null) {
>>>>>>>>> webManager = new WebManager(ctx, "/zkau");
>>>>>>>>> } else {
>>>>>>>>> throw new IllegalStateException("ZK WebManager already exists. 
>>>>>>>>> Could not initialize via Spring Boot configuration.");
>>>>>>>>> }
>>>>>>>>> }
>>>>>>>>> ------------------------------Finally, my simple 
>>>>>>>>> servlet-------------
>>>>>>>>> @Component(
>>>>>>>>> service = Servlet.class,
>>>>>>>>> property= {
>>>>>>>>> "osgi.http.whiteboard.servlet.pattern=*.zul",
>>>>>>>>> "osgi.http.whiteboard.servlet.pattern=*.zhtml",
>>>>>>>>> "osgi.http.whiteboard.context.select=(
>>>>>>>>> osgi.http.whiteboard.context.name
>>>>>>>>> =ZkComponentsServletContextHelper)"
>>>>>>>>> }
>>>>>>>>> )
>>>>>>>>> public class ZulExtensionServlet extends HttpServlet{..}
>>>>>>>>> ---------------------equinox bundle info-------------
>>>>>>>>> {org.osgi.service.http.context.ServletContextHelper}={service.id=95, 
>>>>>>>>> osgi.http.whiteboard.context.name=ZkComponentsServletContextHelper, 
>>>>>>>>> service.bundleid=59, service.scope=bundle, 
>>>>>>>>> component.name=com.castortech.iris.zk.components.ZkComponentsServletContextHelper,
>>>>>>>>>  
>>>>>>>>> osgi.http.whiteboard.context.path=/components, component.id=3}
>>>>>>>>>     
>>>>>>>>> {javax.servlet.Servlet}={service.id=97, service.bundleid=59, 
>>>>>>>>> service.scope=bundle, 
>>>>>>>>> osgi.http.whiteboard.servlet.pattern=[*.zul,*.zhtml], 
>>>>>>>>> osgi.http.whiteboard.context.select=(
>>>>>>>>> osgi.http.whiteboard.context.name=ZkComponentsServletContextHelper), 
>>>>>>>>> component.name=com.castortech.iris.zk.components.ZulExtensionServlet, 
>>>>>>>>> component.id=5}
>>>>>>>>>     
>>>>>>>>> {javax.servlet.ServletContextListener}={service.id=98, 
>>>>>>>>> service.bundleid=59, service.scope=bundle, 
>>>>>>>>> osgi.http.whiteboard.context.select=(
>>>>>>>>> osgi.http.whiteboard.context.name=ZkComponentsServletContextHelper), 
>>>>>>>>> osgi.http.whiteboard.listener=true, component.name=ZkListener, 
>>>>>>>>> component.id=6}
>>>>>>>>>     
>>>>>>>>> {javax.servlet.ServletContext}={osgi.web.version=1.0.0.qualifier, 
>>>>>>>>> osgi.web.contextpath=/components, service.id=124, 
>>>>>>>>> osgi.web.symbolicname=com.castortech.iris.zk.components, 
>>>>>>>>> service.bundleid=59, service.scope=singleton, 
>>>>>>>>> osgi.web.contextname=ZkComponentsServletContextHelper}
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> As you can see, both the ServletContextListener and the servlet 
>>>>>>>>> are bound to the same ServletContextHelper and there is a 
>>>>>>>>> ServletContext 
>>>>>>>>> created from the ServletContextHelper, however, the 
>>>>>>>>> contextInitialized 
>>>>>>>>> method was never called. Am I missing anything?
>>>>>>>>>
>>>>>>>>> Thai
>>>>>>>>>
>>>>>>>>> -- 
>>>>>>>>> -- 
>>>>>>>>> ------------------
>>>>>>>>> OPS4J - http://www.ops4j.org - [email protected]
>>>>>>>>>
>>>>>>>>> --- 
>>>>>>>>> You received this message because you are subscribed to the Google 
>>>>>>>>> Groups "OPS4J" group.
>>>>>>>>> To unsubscribe from this group and stop receiving emails from it, 
>>>>>>>>> send an email to [email protected].
>>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>>
>>>>>>>> -- 
>>>>>>>> -- 
>>>>>>>> ------------------
>>>>>>>> OPS4J - http://www.ops4j.org - [email protected]
>>>>>>>>
>>>>>>>> --- 
>>>>>>>> You received this message because you are subscribed to the Google 
>>>>>>>> Groups "OPS4J" group.
>>>>>>>> To unsubscribe from this group and stop receiving emails from it, 
>>>>>>>> send an email to [email protected].
>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> -- 
>>>>>>> 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
>>>>>>> [email protected]
>>>>>>> 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.
>>>>>>>
>>>>>>> -- 
>>>>>>> -- 
>>>>>>> ------------------
>>>>>>> OPS4J - http://www.ops4j.org - [email protected]
>>>>>>>
>>>>>>> --- 
>>>>>>> You received this message because you are subscribed to the Google 
>>>>>>> Groups "OPS4J" group.
>>>>>>> To unsubscribe from this group and stop receiving emails from it, 
>>>>>>> send an email to [email protected].
>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>
>>>>>> -- 
>>>>> -- 
>>>>> ------------------
>>>>> OPS4J - http://www.ops4j.org - [email protected]
>>>>>
>>>>> --- 
>>>>> You received this message because you are subscribed to the Google 
>>>>> Groups "OPS4J" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>>> an email to [email protected].
>>>>>
>>>> To view this discussion on the web visit 
>>>>> https://groups.google.com/d/msgid/ops4j/cb747b43-f883-4c89-92a7-176f03e7f991n%40googlegroups.com
>>>>>  
>>>>> <https://groups.google.com/d/msgid/ops4j/cb747b43-f883-4c89-92a7-176f03e7f991n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>>
>>>> -- 
>> -- 
>> ------------------
>> OPS4J - http://www.ops4j.org - [email protected]
>>
>> --- 
>> You received this message because you are subscribed to the Google Groups 
>> "OPS4J" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected].
>>
> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/ops4j/08e6bf92-e96d-404c-87d1-5234595f47d1n%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/ops4j/08e6bf92-e96d-404c-87d1-5234595f47d1n%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
-- 
------------------
OPS4J - http://www.ops4j.org - [email protected]

--- 
You received this message because you are subscribed to the Google Groups 
"OPS4J" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ops4j/56365efa-58e4-4d96-8d5d-470d9178eea5n%40googlegroups.com.

Reply via email to