Hi Ray,
yes the annotation is processed. At least Apache Felix Webconsole is
showing me this output for my SCL component:
Bundle io.jatoms.osgi.possiblebugs.scl.impl (1)
Implementationsklasse io.jatoms.osgi.possiblebugs.scl.MySCL
Default Status enabled
Aktivierung delayed
Konfigurations Policy optional
Dienst Typ singleton
Dienste javax.servlet.ServletContextListener
PID io.jatoms.osgi.possiblebugs.scl.MySCL
Eigenschaften component.id = 9
component.name = io.jatoms.osgi.possiblebugs.scl.MySCL
osgi.http.whiteboard.listener = true
Sorry, the names are in german. "Eigenschaften" is the properties
section ;)
Kind regards,
Thomas
------ Originalnachricht ------
Von: "Raymond Auge" <raymond.a...@liferay.com>
An: "felix users" <users@felix.apache.org>; "Thomas Driessen"
<thomas.driessen...@gmail.com>
Cc: "David Bosschaert" <david.bosscha...@gmail.com>
Gesendet: 04.02.2019 18:28:13
Betreff: Re: Re[3]: ServletContextListener not working?
Thomas did you check that your tool chain processed the annotation
`@HttpWhiteboardListener` into the appropriate service property?
- Ray
On Mon, Feb 4, 2019 at 10:05 AM Thomas Driessen
<thomas.driessen...@gmail.com> wrote:
BTW the version of felix http is 4.0.6 and the other bundles installed
and active are:
START LEVEL 1
ID|State |Level|Name
0|Active | 0|OSGi System Bundle
(3.13.100.v20180827-1536)|3.13.100.v20180827-1536
1|Active | 1|osgi.possiblebugs.scl.impl
(0.0.1.201902041434)|0.0.1.201902041434
2|Active | 1|Apache Commons FileUpload (1.3.3)|1.3.3
3|Active | 1|Apache Commons IO (2.6.0)|2.6.0
4|Active | 1|Apache Felix Gogo Command (1.0.2)|1.0.2
5|Active | 1|Apache Felix Gogo Runtime (1.0.10)|1.0.10
6|Active | 1|Apache Felix Gogo Shell (1.0.0)|1.0.0
7|Active | 1|Apache Felix Http Jetty (4.0.6)|4.0.6
8|Active | 1|Apache Felix Servlet API (1.1.2)|1.1.2
9|Active | 1|Apache Felix Inventory (1.0.4)|1.0.4
10|Active | 1|Apache Felix Declarative Services
(2.1.10)|2.1.10
11|Active | 1|Apache Felix Web Management Console
(4.3.4)|4.3.4
12|Active | 1|Apache Felix Web Console Service Component
Runtime/Declarative Services Plugin (2.0.8)|2.0.8
13|Active | 1|org.osgi:org.osgi.util.function
(1.1.0.201802012106)|1.1.0.201802012106
Any idea what might be missing?
Kind regards,
Thomas
------ Originalnachricht ------
Von: "Thomas Driessen" <thomas.driessen...@gmail.com>
An: "David Bosschaert" <david.bosscha...@gmail.com>;
users@felix.apache.org
Gesendet: 04.02.2019 16:03:25
Betreff: Re[2]: ServletContextListener not working?
Hi David,
yes this is done via tha @HttpWhiteboardListener annotation. The
webconsole shows me this output for the MySCL component:
------ Originalnachricht ------
Von: "David Bosschaert" <david.bosscha...@gmail.com>
An: users@felix.apache.org; "Thomas Driessen"
<thomas.driessen...@gmail.com>
Gesendet: 04.02.2019 15:44:52
Betreff: Re: ServletContextListener not working?
Hi Thomas,
The spec states in section 140.7 [1]
"Events are sent to listeners registered in the Service Registry
with the osgi.http.whiteboard.listener service property set to true"
Did you set this service property?
There is a constant for it in
org.osgi.service.http.whiteboard.HttpWhiteboardConstants [2]
Hope this helps,
David
[1]
https://osgi.org/specification/osgi.enterprise/7.0.0/service.http.whiteboard.html#d0e75952
[2]
https://osgi.org/specification/osgi.enterprise/7.0.0/service.http.whiteboard.html#org.osgi.service.http.whiteboard.HttpWhiteboardConstants
On Mon, 4 Feb 2019 at 06:38, Thomas Driessen
<thomas.driessen...@gmail.com> wrote:
I've investigated this further and in the Apache Felix Web Console
my
listener is listed under the "Failed Listeners". As reason
"Invalid" is
shown.
I do not know what I'm doing wrong :(
This is my ServletContextListener:
@Component
@HttpWhiteboardListener
public class MySCL implements ServletContextListener {
@Override
public void contextDestroyed(ServletContextEvent arg0) {
System.out.println("Destroyed");
}
@Override
public void contextInitialized(ServletContextEvent arg0) {
System.out.println("Initialized");
}
}
Any idea what I'm missing?
Kind regards,
thomas
------ Originalnachricht ------
Von: "Thomas Driessen" <thomas.driessen...@gmail.com>
An: "users@felix.apache.org" <users@felix.apache.org>
Gesendet: 04.02.2019 09:48:35
Betreff: ServletContextListener not working?
>Hi,
>
>I've already asked on the general OSGi Dev mailing list, but I
think
>this might be a more appropriate place to ask:
>
>I just tried to get a ServletContextListener to work, but did not
>succeed, although everything is done as defined by the spec.
>
>Here you can find a minimal example of my setup
>https://github.com/Sandared/io.jatoms.osgi.possiblebugs.scl
>
>The Servlet I'm registering is working fine, but the
>ServletContextListener that I registered too is never called.
>Even if I call getServletContext() from within the Servlet, my
Listener
>is never called.
>
>I would have expected the ServletContextListener to be called at
least
>once, after a DefaultServletContext has been created by the
>ServletContainer, or am I wrong with this assumption?
>
>Kind regards,
>Thomas
--
Raymond Augé <http://www.liferay.com/web/raymond.auge/profile>
(@rotty3000)
Senior Software Architect Liferay, Inc. <http://www.liferay.com>
(@Liferay)
Board Member & EEG Co-Chair, OSGi Alliance <http://osgi.org>
(@OSGiAlliance)