public void stop(final Deployment dep) { for (final Endpoint ep : dep.getService().getEndpoints()) { ep.setRecordProcessors(Collections.<RecordProcessor>emptyList()); } }
public void buildContainerMetaData(Deployment dep, DeploymentInfo di) { dep.addAttachment(DeploymentInfo.class, di); dep.setProperty(EJBArchiveMetaDataAdapterEJB3.DEPLOYED_OBJECT, di.deployedObject); if (di.metaData instanceof WebMetaData) { JSEArchiveMetaData webMetaData = webMetaDataAdapter.buildUnifiedWebMetaData(dep, di); if (webMetaData != null) dep.addAttachment(JSEArchiveMetaData.class, webMetaData); dep.setProperty("org.jboss.ws.webapp.url", getDeploymentURL(di)); } else if (dep.getType() == DeploymentType.JAXRPC_EJB3 || dep.getType() == DeploymentType.JAXWS_EJB3) { EJBArchiveMetaData appMetaData = applicationMetaDataAdapterEJB3.buildUnifiedApplicationMetaData(dep); if (appMetaData != null) dep.addAttachment(EJBArchiveMetaData.class, appMetaData); } else if (di.metaData instanceof ApplicationMetaData) { EJBArchiveMetaData appMetaData = applicationMetaDataAdapterEJB21.buildUnifiedApplicationMetaData(dep, di); if (appMetaData != null) dep.addAttachment(EJBArchiveMetaData.class, appMetaData); } }
public void start(Deployment dep, WSFRuntime runtime) { // EJB3 endpoints if (dep.getAttachment(Ejb3Deployment.class) != null) { dep.setRuntimeClassLoader(dep.getInitialClassLoader()); } // EJB21 endpoints else if (dep.getAttachment(JBossMetaData.class) != null) { dep.setRuntimeClassLoader(dep.getInitialClassLoader()); } // JSE endpoints else if (dep.getAttachment(JBossWebMetaData.class) != null) { JBossWebMetaData webMetaData = dep.getAttachment(JBossWebMetaData.class); ClassLoader classLoader = webMetaData.getContextLoader(); dep.setRuntimeClassLoader(classLoader); } else { throw new IllegalArgumentException("Unable to determine runtime loader"); } } }
if (dep.getAttachment(WebMetaData.class) != null) WebMetaData webMetaData = dep.getAttachment(WebMetaData.class); ClassLoader classLoader = webMetaData.getContextLoader(); dep.setRuntimeClassLoader(classLoader); else if (dep.getType() == Deployment.DeploymentType.JAXWS_EJB3) if (null == dep.getRuntimeClassLoader()) throw new IllegalArgumentException("Runtime loader not provided"); else if (dep.getAttachment(ApplicationMetaData.class) != null) if (null == dep.getRuntimeClassLoader()) throw new IllegalArgumentException("Runtime loader not provided");
dep.setRuntimeClassLoader(dep.getInitialClassLoader()); Service service = dep.getService(); service.setContextRoot(context.getContextRoot());
@Override public void start(Deployment dep) { MetadataBuilder builder = new MetadataBuilder(); dep.addAttachment(DDBeans.class, builder.build(dep)); } }
/** * Returns optional attachment value from webservice deployment or null if not bound. * * @param <A> expected value * @param dep webservice deployment * @param key attachment key * @return optional attachment value or null */ public static <A> A getOptionalAttachment( final Deployment dep, final Class< A > key ) { return dep.getAttachment( key ); }
public DDBeans build(Deployment dep) { final SOAPAddressRewriteMetadata sarm = dep.getAttachment(SOAPAddressRewriteMetadata.class); Map<QName, String> serviceNameAddressMap = new HashMap<QName, String>(); Map<String, SOAPAddressWSDLParser> soapAddressWsdlParsers = new HashMap<String, SOAPAddressWSDLParser>(); DDBeans dd = new DDBeans(); for (Endpoint ep : dep.getService().getEndpoints()) { DDEndpoint ddep = createDDEndpoint(ep.getTargetBeanClass(), (ArchiveDeployment)dep, ep); if (ep instanceof HttpEndpoint) { ddep.setInvoker(JBossWSInvoker.class.getName()); } processWSDDContribution(ddep, (ArchiveDeployment)dep); URL wsdlLocation = getWsdlLocationURL(ddep, ((ArchiveDeployment)dep).getResourceResolver()); processAddressRewrite(ddep, wsdlLocation, sarm, soapAddressWsdlParsers); METADATA_LOGGER.addingServiceEndpointMetadata(METADATA_LOGGER.isDebugEnabled() ? ddep.toStringExtended() : ddep.toString()); dd.addEndpoint(ddep); serviceNameAddressMap.put(ddep.getServiceName(), ddep.getAddress()); } dep.setProperty("ServiceAddressMap", serviceNameAddressMap); return dd; }
/** * Returns true if archive name ends with '.jar' suffix. * * @param dep webservice deployment * @return true if archive name ends with '.jar' suffix, false otherwise */ public static boolean isJarArchive( final Deployment dep ) { return dep.getSimpleName().endsWith(JAR_EXTENSION); }
/** * Modifies context root. * * @param dep webservice deployment * @param jbossWebMD web meta data */ private void modifyContextRoot(final Deployment dep, final JBossWebMetaData jbossWebMD) { final String contextRoot = dep.getService().getContextRoot(); ROOT_LOGGER.settingContextRoot(contextRoot, dep.getSimpleName()); jbossWebMD.setContextRoot(contextRoot); }
@Override public void create(Deployment dep) { String typeStr = dep.getType().toString(); if (typeStr.endsWith("EJB21")) { JBossWebMetaData jbwmd = generatWebDeployment((ArchiveDeployment)dep, securityHandlerEJB21); dep.addAttachment(JBossWebMetaData.class, jbwmd); } else if (typeStr.endsWith("EJB3")) { JBossWebMetaData jbwmd = generatWebDeployment((ArchiveDeployment)dep, securityHandlerEJB3); dep.addAttachment(JBossWebMetaData.class, jbwmd); } else { JBossWebMetaData jbwmd = generatWebDeployment((ArchiveDeployment)dep, null); dep.addAttachment(JBossWebMetaData.class, jbwmd); } }
/** * Returns stack specific transport class name. * * @param dep webservice deployment * @return stack specific transport class name * @throws IllegalStateException if transport class name is not found in deployment properties map */ private String getTransportClassName(final Deployment dep) { final String transportClassName = (String) dep.getProperty(WSConstants.STACK_TRANSPORT_CLASS); if (transportClassName == null) { throw new IllegalStateException("Cannot obtain deployment property: " + WSConstants.STACK_TRANSPORT_CLASS); } return transportClassName; }
public void buildContainerMetaData(Deployment dep, DeploymentUnit unit) dep.addAttachment(DeploymentUnit.class, unit); dep.addAttachment(JSEArchiveMetaData.class, webMetaData); dep.setProperty(WebMetaDataModifier.PROPERTY_WEBAPP_URL, webURL); dep.addAttachment(EJBArchiveMetaData.class, ejbMetaData); dep.addAttachment(EJBArchiveMetaData.class, ejbMetaData);
@Override public void start(Deployment dep) { if ( DeploymentType.JAXWS_EJB3.equals(dep.getType())) { dep.getService().setVirtualHosts(getExplicitVirtualHosts(dep)); } }
public void create(Deployment dep) { URL warURL = (URL)dep.getProperty("org.jboss.ws.webapp.url"); if (warURL == null) throw new IllegalStateException("Cannot obtain webapp URL"); log.debug("publishServiceEndpoint: " + warURL); try { webXMLRewriter.rewriteWebXml(dep); DeploymentInfo auxdi = new DeploymentInfo(warURL, null, MBeanServerLocator.locateJBoss()); // Preserve the repository config DeploymentInfo di = dep.getAttachment(DeploymentInfo.class); if (di != null) auxdi.repositoryConfig = di.getTopRepositoryConfig(); auxdi.context.put("org.jboss.ws.ejbwebapp", "true"); getMainDeployer().deploy(auxdi); } catch (Exception ex) { WSFDeploymentException.rethrow(ex); } }
topLevelDeployment.setProperty(HttpSpec.PROPERTY_WEBAPP_SERVLET_CLASS, httpSpec.getServletClass()); topLevelDeployment.setProperty(HttpSpec.PROPERTY_WEBAPP_CONTEXT_PARAMETERS, httpSpec.getContextParameter()); Boolean alreadyDeployed = (Boolean)topLevelDeployment.getProperty(PROCESSED_BY_DEPLOYMENT_FACTORY); if ((alreadyDeployed == null) || (false == alreadyDeployed)) topLevelDeployment.setProperty(PROCESSED_BY_DEPLOYMENT_FACTORY, Boolean.TRUE);
@Override public void start(final Deployment dep) { final ClassLoader loader = dep.getRuntimeClassLoader(); final ClassLoader integrationCL = ClassLoaderProvider.getDefaultProvider().getServerIntegrationClassLoader(); final ClassLoader newCL = new DelegateClassLoader(integrationCL, loader); for (final Endpoint ep : dep.getService().getEndpoints()) { ep.setInstanceProvider(new NativeInstanceProvider(newCL)); } }
public URL create(Deployment dep) { String typeStr = dep.getType().toString(); URL webAppURL = null; if (typeStr.endsWith("EJB21")) { webAppURL = generatWebDeployment((ArchiveDeployment)dep, securityHandlerEJB21); dep.setProperty("org.jboss.ws.webapp.url", webAppURL); } else if (typeStr.endsWith("EJB3")) { webAppURL = generatWebDeployment((ArchiveDeployment)dep, securityHandlerEJB3); dep.setProperty("org.jboss.ws.webapp.url", webAppURL); } else { webAppURL = generatWebDeployment((ArchiveDeployment)dep, null); dep.setProperty("org.jboss.ws.webapp.url", webAppURL); } return webAppURL; }
/** Get the Deployment for a given DeploymentInfo */ public Deployment getDeployment(DeploymentInfo unit) { Deployment dep = (Deployment)unit.context.get(Deployment.class); return (dep != null && dep.getType() == getDeploymentType() ? dep : null); }
/** * Configures transport servlet class for every found webservice endpoint. * * @param dep webservice deployment * @param jbossWebMD web meta data */ private void configureEndpoints(final Deployment dep, final JBossWebMetaData jbossWebMD) { final String transportClassName = this.getTransportClassName(dep); final ClassLoader loader = dep.getInitialClassLoader(); this.log.trace("Modifying servlets"); for (final ServletMetaData servletMD : jbossWebMD.getServlets()) { final boolean isWebserviceEndpoint = ASHelper.getEndpointClass(servletMD, loader) != null; if (isWebserviceEndpoint) { // set transport servlet servletMD.setServletClass(transportClassName); // configure webservice endpoint final String endpointClassName = servletMD.getServletClass(); this.log.debug("Setting transport class: " + transportClassName + " for servlet: " + endpointClassName); final List<ParamValueMetaData> initParams = WebMetaDataHelper.getServletInitParams(servletMD); WebMetaDataHelper.newParamValue(Endpoint.SEPID_DOMAIN_ENDPOINT, endpointClassName, initParams); } } }