Indeed this will not be easy as pax-web must be changed because it
uses a method of jetty to load the resource file (jetty.xml).
public void start() {
LOG.debug("Starting " + this);
try {
//PAXWEB-193 suggested we should open this up for
external configuration
URL jettyResource =
getClass().getResource("/jetty.xml");
File serverConfigurationFile = getServerConfigDir();
if (serverConfigurationFile != null) {
if (LOG.isDebugEnabled())
LOG.debug("found server configuration
file: "+serverConfigurationFile);
if (!serverConfigurationFile.isDirectory() &&
serverConfigurationFile.canRead()) {
if (LOG.isDebugEnabled()) {
LOG.debug("server config dir is
readable and exists");
}
String fileName =
serverConfigurationFile.getName();
if
(fileName.equalsIgnoreCase("jetty.xml"))
jettyResource =
serverConfigurationFile.toURI().toURL();
}
}
if (jettyResource != null) {
ClassLoader loader =
Thread.currentThread().getContextClassLoader();
try
{
Thread.currentThread().setContextClassLoader(
getClass().getClassLoader() );
LOG.debug("Configure using resource " +
jettyResource);
XmlConfiguration configuration = new
XmlConfiguration(jettyResource);
configuration.configure(m_server);
}
finally
{
Thread.currentThread().setContextClassLoader( loader );
}
}
m_server.start();
} catch (Exception e) {
LOG.error(e);
}
}
By the way, why don't we expose as a OSGI service the HTTP parameters
that we need to configure the Jetty Server. In this case, xml file +
blueprint can be used to configure the HTTP Parameters interface and
then we can inject this reference in pax-web to provide all the info
required to configure Jetty Server (port number, session timeout,
beans definition to configure securityHandler, .....)
Otherwise, we can create for Karaf project a bundle extending OSGI
HTTP. We can mix the work done with camel-jetty + blueprint + Apache
Felix HTTP to reach this goal ....
On Thu, Dec 23, 2010 at 7:05 PM, Guillaume Nodet <[email protected]> wrote:
> If we were to change, I'd rather use a blueprint config coupled with
> some ConfigAdmin support so that we can change the jetty configuration
> more easily.
> Though I don't think it's that easy to switch, as pax-web needs to be
> enhanced I'd think.
>
> On Thu, Dec 23, 2010 at 18:48, Charles Moulliard <[email protected]> wrote:
>> Hi,
>>
>> I would like to suggest that we use spring bean syntax to configure
>> the jetty server. As the spring beans xml syntax is much more
>> supported by all the developers, that would simplify the configuration
>> of the jetty.xml file instead of the proprietary syntax used.
>>
>> http://wiki.eclipse.org/Jetty/Howto/Spring
>>
>> Regards,
>>
>> Charles Moulliard
>>
>> Sr. Principal Solution Architect - FuseSource
>> Apache Committer
>>
>> Blog : http://cmoulliard.blogspot.com
>> Twitter : http://twitter.com/cmoulliard
>> Linkedin : http://www.linkedin.com/in/charlesmoulliard
>> Skype: cmoulliard
>>
>
>
>
> --
> Cheers,
> Guillaume Nodet
> ------------------------
> Blog: http://gnodet.blogspot.com/
> ------------------------
> Open Source SOA
> http://fusesource.com
>