private void setObjectName(ServiceMetaData metaData, Element mbean) { if(metaData.getObjectName() != null) mbean.setAttribute("name", metaData.getObjectName().getCanonicalName()); }
public ServiceMetaData buildService(ManagedConnectionFactoryDeploymentMetaData mcfmd) { ServiceMetaData md = new ServiceMetaData(); ObjectName on = buildObjectName(mcfmd); md.setObjectName(on); String code = getCode(mcfmd); md.setCode(code); ServiceConstructorMetaData cmd = buildConstructor(mcfmd); md.setConstructor(cmd); return md; }
/** * Add an attribute * @param attributeList */ public void addAttributes(List<ServiceAttributeMetaData> attributeList) { if(attributeList == null) throw new IllegalArgumentException("Null attribute"); if(this.attributes.size() == 0) this.attributes = attributeList; else { //Avoid duplicates for(ServiceAttributeMetaData serviceAttributeMetaData: attributeList) { addAttribute(serviceAttributeMetaData); } } }
@Override protected ServiceMetaData getServiceMetaData() { ServiceMetaData serviceMetaData = new ServiceMetaData(); serviceMetaData.setCode(EjbPolicyConfigurationFacade.class.getName()); return serviceMetaData; }
protected ServiceMetaData createEmptyServiceMetaData(PersistedComponent component) { ServiceMetaData service = new ServiceMetaData(); ObjectName objectName = null; try { objectName = new ObjectName(component.getOriginalName()); service.setObjectName(objectName); } catch (MalformedObjectNameException e) { // TODO: this should not happen, but we might could just ignore this // as the Persistence should restore the object name anyway throw new RuntimeException("failed to create object name for component " + component, e); } log.debug("created service "+ component.getOriginalName()); return service; }
ServiceMetaData service = new ServiceMetaData(); service.setObjectName(mbeanName); service.setCode(code); service.setMode(mode); service.setConstructor(constructor); service.setInterfaceName(interfaceName); service.setXMBeanDD(xmbeandd); service.setXMBeanCode(xmbeanCode); service.setXMBeanDescriptor(xmbeanDescriptor); List<String> aliases = service.getAliases(); if (aliases == null) service.setAliases(aliases); service.setAttributes(attributes); service.setDependencies(dependencies); service.setAnnotations(annotations);
ServiceMetaData rarDeployment = new ServiceMetaData(); String name = getObjectName(unit, rdmd); ObjectName objectName = new ObjectName(name); rarDeployment.setObjectName(objectName); rarDeployment.setCode(RARDeployment.class.getName()); ServiceConstructorMetaData constructor = new ServiceConstructorMetaData(); constructor.setSignature(new String[] { RARDeploymentMetaData.class.getName() }); constructor.setParameters(new Object[] { rdmd }); rarDeployment.setConstructor(constructor); rarDeployment.setAttributes(attributes); rarDeployment.setDependencies(dependencies);
subjaccPolicy.setObjectName(new ObjectName(getObjectName(unit))); serviceConstructor.setSignature(new String[]{String.class.getName(), getMetaDataClassType().getName()}); serviceConstructor.setParameters(new Object[]{deploymentName, metaData}); subjaccPolicy.setConstructor(serviceConstructor); serviceDependencyMetaData.setIDependOnObjectName(subjaccPolicy.getObjectName()); parentServiceMetaData.addDependency(serviceDependencyMetaData); serviceAttributeMetaData.setName("PolicyConfigurationFacadeMBean"); ServiceDependencyValueMetaData dependencyValue = new ServiceDependencyValueMetaData(); dependencyValue.setDependency(subjaccPolicy.getObjectName().toString()); dependencyValue.setProxyType("attribute"); serviceAttributeMetaData.setValue(dependencyValue); parentServiceMetaData.addAttribute(serviceAttributeMetaData);
ObjectName loaderName = metaData.getClassLoaderName(); ClassLoader loader = server.getClassLoader(loaderName); String code = metaData.getCode(); ServiceConstructorMetaData constructor = metaData.getConstructor(); constructor.getSignature()); String xmbeanCode = metaData.getXMBeanCode(); Element mbeanDescriptor = metaData.getXMBeanDescriptor(); Object[] args = { resource, mbeanDescriptor, ServiceConstants.PUBLIC_JBOSSMX_XMBEAN_DTD_1_0 }; String[] sig = { Object.class.getName(), Element.class.getName(), String.class.getName() };
ObjectName loaderName = metaData.getClassLoaderName(); ClassLoader loader = server.getClassLoader(loaderName); String code = metaData.getCode(); ServiceConstructorMetaData constructor = metaData.getConstructor(); String xmbeanDD = metaData.getXMBeanDD(); xmbeanddUrl = new URL(xmbeanDD); String xmbeanCode = metaData.getXMBeanCode();
ObjectName objectName = metaData.getObjectName(); Collection<ServiceAttributeMetaData> attrs = metaData.getAttributes();
/** * Install a StandardMBean * * @param server the mbean server * @param objectName the object name * @param metadata the service metadata * @return the installed instance * @throws Exception for any error */ private static ServiceInstance installStandardMBean(MBeanServer server, ObjectName objectName, ServiceMetaData metaData) throws Exception { ObjectName loaderName = metaData.getClassLoaderName(); ClassLoader loader = server.getClassLoader(loaderName); String code = metaData.getCode(); ServiceConstructorMetaData constructor = metaData.getConstructor(); String interfaceName = metaData.getInterfaceName(); Class<?> intf = loader.loadClass(interfaceName); log.debug("About to create bean resource: " + objectName + " with code: " + code + " and interface " + interfaceName); Object resource = server.instantiate(code, loaderName, constructor.getParameters(loader), constructor.getSignature()); log.debug("About to register StandardMBean : " + objectName); ObjectInstance instance = server.createMBean(StandardMBean.class.getName(), objectName, loaderName, new Object[] { resource, intf }, new String[] { Object.class.getName() , Class.class.getName() }); return new ServiceInstance(instance, resource); }
ObjectName loaderName = metaData.getClassLoaderName(); ClassLoader loader = server.getClassLoader(loaderName); String code = metaData.getCode(); ServiceConstructorMetaData constructor = metaData.getConstructor();
public ObjectName install(ServiceMetaData metaData, ObjectName loaderName) throws Exception { KernelController controller = kernel.getController(); metaData.setClassLoaderName(loaderName); ObjectName name = metaData.getObjectName(); // Install the context to the configured level ServiceControllerContext context = new ServiceControllerContext(this, metaData); try { doInstall(controller, context); doChange(controller, context, ControllerState.CONFIGURED, "configure"); return context.getObjectName(); } catch (Throwable t) { throw rethrow("Error during install " + name, t); } }
/** * Create a new ServiceControllerContext. * * @param serviceController the service controller * @param metaData the meta data */ public ServiceControllerContext(ServiceController serviceController, ServiceMetaData metaData) { super(metaData.getObjectName().getCanonicalName(), ServiceControllerContextActions.getInstance()); this.objectName = metaData.getObjectName(); serviceContext.objectName = objectName; this.serviceController = serviceController; ControllerMode mode = metaData.getMode(); this.serviceMetaData = metaData; if (mode == null) setMode(ControllerMode.MANUAL); else setMode(mode); }
String code = metaData.getCode(); if (code == null || code.trim().length() == 0) throw new ConfigurationException("Missing or empty code for mbean " + objectName); String xmbeanDD = metaData.getXMBeanDD(); String interfaceName = metaData.getInterfaceName(); if (interfaceName != null) result = installStandardMBean(server, objectName, metaData);
public ServiceMetaData build(ManagedConnectionFactoryDeploymentMetaData mcfmd) { ServiceMetaData md = buildService(mcfmd); List<ServiceAttributeMetaData> attributes = buildAttributes(mcfmd); md.setAttributes(attributes); List<ServiceDependencyMetaData> dependencies = buildDependencies(mcfmd); md.setDependencies(dependencies); return md; }
public void deploy(DeploymentUnit unit, ServiceMetaData deployment) throws DeploymentException ObjectName name = deployment.getObjectName(); try ObjectName loaderName = deployment.getClassLoaderName(); if (loaderName == null) loaderName = findLoaderName(unit.getClassLoader());
Class moClass = loader.loadClass(md.getCode()); List<ServiceAnnotationMetaData> samlist = md.getAnnotations(); for (ServiceAnnotationMetaData sam : samlist)
for (ServiceAttributeMetaData amd : md.getAttributes()) md.addAttribute(attr);