Hi,
Got the following question from a big telecom ISV. How does AS7 support SIP?
We create a new extension module to deploy sip servelet in sip container. We need to have
a way to skip the creation of StandardContext and JBossContextConfig objects in
WarDeploymentProcessor:eploy() since we will create our own ConvergedContext and
ConvergedContextConfig objects in our own SipContainerDeploymentProcessor:eploy().
<Fevzi> I don't think that overriding processDeployment is the correct path in
terms of bug fixes in the future. What is the recommended way to create your own
StandardContext and JBossContextConfig?
WarDeploymentProcessor:rocessDeployment(final String hostName, final WarMetaData
warMetaData, final DeploymentUnit deploymentUnit,
final ServiceTarget serviceTarget) throws
DeploymentUnitProcessingException {
…
// Create the context
final StandardContext webContext = new StandardContext();
final ContextConfig config = new JBossContextConfig(deploymentUnit);
…
}
In subsystem:
processorTarget.addDeploymentProcessor(Phase.INSTALL,
Phase.INSTALL_WAR_DEPLOYMENT, new SipContainerDeploymentProcessor());
SipContainerDeploymentProcessor:elploy()
{
…
// ConvergedJBossContextConfig extends JBossContextConfig
final ConvergedContext convergedContext = new ConvergedContext();
// Meta data is send to config here.
final ConvergedContextConfig config = new ConvergedContextConfig(deploymentUnit);
…
}
We need to have a way to call host.setConfigClass(ConvergedContext_Object) to set our
own ConvergedContext when Web container receives a HTTP request. So we can achieve
converged application.
<Fevzi> Similar to the question above but utilizing host.setConfigClass.
The sip servlet application is packaged in .sar file. In the new extension module we
build, can we set the deploy type to be WAR to make the web deploy works.
DeploymentTypeMarker.setType(DeploymentType.WAR, deploymentUnit);
<Fevzi> According to JSR 289 the deployment archive has to have sar extension (which
we also utilize in JBoss), in the creation of this DeploymentType should type
Deployment.WAR be utilized or Deployment.WAR-1?
4 How to catch the org.apache.catalina.LifecycleListener?
<Fevzi> In the Service class there is no Init, PreStart, PostStart. Ericsson would
like to spawn a thread that will conduct a lot of blocking operations and doesn't want
to delay the "start" phase, this could lead to potential issues with attempting
to load non started modules. How should ContainerLifeCycle be managed in EAP6? What are
the best practises?
--