// setup the SSL socket factories, if necessary.
this.setupSSLFactories(props);
// create the service that initializes and starts the CORBA ORB.
CorbaORBService orbService = new CorbaORBService(props);
final ServiceBuilder<ORB> builder = context.getServiceTarget().addService(
CorbaORBService.SERVICE_NAME, orbService);
org.jboss.as.server.Services.addServerExecutorDependency(builder, orbService.getExecutorInjector(), false);
// if a security domain has been specified, add a dependency to the domain service.
String securityDomain = props.getProperty(JacORBSubsystemConstants.SECURITY_SECURITY_DOMAIN);
if (securityDomain != null && !securityDomain.isEmpty())
builder.addDependency(SECURITY_DOMAIN_SERVICE_NAME.append(securityDomain));
builder.addDependency(IORSecConfigMetaDataService.SERVICE_NAME);
// inject the socket bindings that specify the JacORB IIOP and IIOP/SSL ports.
String socketBinding = props.getProperty(JacORBSubsystemConstants.ORB_SOCKET_BINDING);
builder.addDependency(SocketBinding.JBOSS_BINDING_NAME.append(socketBinding), SocketBinding.class,
orbService.getJacORBSocketBindingInjector());
String sslSocketBinding = props.getProperty(JacORBSubsystemConstants.ORB_SSL_SOCKET_BINDING);
builder.addDependency(SocketBinding.JBOSS_BINDING_NAME.append(sslSocketBinding), SocketBinding.class,
orbService.getJacORBSSLSocketBindingInjector());
builder.addListener(verificationHandler);
// set the initial mode and install the service.
newControllers.add(builder.setInitialMode(ServiceController.Mode.ACTIVE).install());
// create the service the initializes the Root POA.