public Set getTxBusinessMethodDescriptors() { ClassLoader classLoader = getEjbBundleDescriptor().getClassLoader(); Set methods = new HashSet(); try { addAllInterfaceMethodsIn (methods, classLoader.loadClass(messageListenerType), MethodDescriptor.EJB_BEAN); if (isTimedObject()) { methods.add(getEjbTimeoutMethod()); } } catch (Throwable t) { _logger.log(Level.SEVERE,"enterprise.deployment.backend.methodClassLoadFailure",new Object [] {"(EjbDescriptor.getBusinessMethodDescriptors())"}); throw new RuntimeException(t); } return methods; }
try { beanClassTxMethods = new HashSet(); Class ejbClass = classLoader.loadClass(this.getEjbClassName()); Method interfaceMessageListenerMethods[] = getMessageListenerInterfaceMethods(classLoader); for(int i = 0; i < interfaceMessageListenerMethods.length; i++) { beanClassTxMethods.add(new MethodDescriptor(nextBeanMethod, MethodDescriptor.EJB_BEAN)); if( isTimedObject() ) { beanClassTxMethods.add(getEjbTimeoutMethod()); getEjbClassName(), getMessageListenerType() })); nsme.initCause(e); throw nsme;
private Map<String, List<EjbDescriptor>> createRAEjbMapping(List<EjbDescriptor> ejbDescriptors) { Map<String, List<EjbDescriptor>> map = new HashMap<String, List<EjbDescriptor>>(); for (EjbDescriptor ejbDescriptor : ejbDescriptors) { List<EjbDescriptor> ejbmdbd = new ArrayList<EjbDescriptor>(); String ramid = ((EjbMessageBeanDescriptor) ejbDescriptor).getResourceAdapterMid(); if ((ramid == null) || (ramid.equalsIgnoreCase(""))) { ramid = ConnectorConstants.DEFAULT_JMS_ADAPTER; } // If Hashtable contains the RAMid key, get the list of MDB descriptors // and add the current MDB Descriptor (list[i]) to the list and put the // pair back into hashtable. // Otherwise, add the RAMid and the current MDB Descriptor to the hashtable if (map.containsKey(ramid)) { ejbmdbd = map.get(ramid); map.remove(ramid); } ejbmdbd.add(ejbDescriptor); map.put(ramid, ejbmdbd); } return map; }
public static String getModuleName(EjbMessageBeanDescriptor descriptor) { String appName = descriptor.getApplication().getAppName(); String moduleName = descriptor.getEjbBundleDescriptor().getModuleID(); String actualModuleName = moduleName; if(moduleName != null){ String prefix = appName+"#"; if(moduleName.startsWith(prefix)){ actualModuleName = moduleName.substring(prefix.length()); } } return actualModuleName; } }
/** * Creates an instance of <code>ConnectorMessageBeanClient</code> * * @param descriptor <code>EjbMessageBeanDescriptor</code> object. */ public ConnectorMessageBeanClient(EjbMessageBeanDescriptor descriptor) { this.descriptor_ = descriptor; allocator_ = new BasicResourceAllocator(); String appName = descriptor.getApplication().getName(); String moduleID = descriptor.getEjbBundleDescriptor().getModuleID(); String beanName = descriptor.getName(); activationName = null; beanID_ = appName + ":" + moduleID + ":" + beanName; registry_ = ConnectorRegistry.getInstance(); }
writeDisplayableComponentInfo(ejbNode, descriptor); writeCommonHeaderEjbDescriptor(ejbNode, ejbDesc); appendTextChild(ejbNode, EjbTagNames.EJB_CLASS, ejbDesc.getEjbClassName()); appendTextChild(ejbNode, EjbTagNames.MESSAGING_TYPE, ejbDesc.getMessageListenerType()); if( ejbDesc.isTimedObject() ) { if (ejbDesc.getEjbTimeoutMethod() != null) { methodNode.writeJavaMethodDescriptor (ejbNode, EjbTagNames.TIMEOUT_METHOD, ejbDesc.getEjbTimeoutMethod()); for ( ScheduledTimerDescriptor timerDesc : ejbDesc.getScheduledTimerDescriptors()) { ScheduledTimerNode timerNode = new ScheduledTimerNode(); timerNode.writeDescriptor(ejbNode, EjbTagNames.TIMER, timerDesc); appendTextChild(ejbNode, EjbTagNames.TRANSACTION_TYPE, ejbDesc.getTransactionType()); ejbDesc.getDestinationType()); String link = ejbDesc.getMessageDestinationLinkName(); appendTextChild(ejbNode, TagNames.MESSAGE_DESTINATION_LINK, link); activationConfigNode.writeDescriptor (ejbNode, EjbTagNames.ACTIVATION_CONFIG, ejbDesc.getActivationConfigDescriptor()); writeAroundInvokeDescriptors(ejbNode, ejbDesc.getAroundInvokeDescriptors().iterator()); writeAroundTimeoutDescriptors(ejbNode, ejbDesc.getAroundTimeoutDescriptors().iterator());
if(activationName == null){ String appName = descriptor_.getApplication().getName(); String moduleID = descriptor_.getEjbBundleDescriptor().getModuleID(); int pound = moduleID.indexOf("#"); if(pound>=0){ String mdbClassName = descriptor_.getEjbClassName();
ClassLoader loader = descriptor_.getEjbBundleDescriptor().getClassLoader(); beanClass_ = loader.loadClass(descriptor_.getEjbClassName());
String resourceAdapterMid = descriptor_.getResourceAdapterMid(); if (resourceAdapterMid == null) { resourceAdapterMid = System.getProperty(RA_MID); String messageListener = descriptor_.getMessageListenerType(); resourceAdapterMid = ConnectorRuntime.DEFAULT_JMS_ADAPTER; logger.fine("No ra-mid is specified, using default JMS Resource Adapter for message-listener-type " + "["+descriptor_.getMessageListenerType()+"]"); }else{ List<String> resourceAdapters = }else if(resourceAdapters.size()<=0){ String message = localStrings.getString("msg-bean-client.could-not-detect-ra-mid", descriptor_.getMessageListenerType() );
private BundleDescriptor getBundleDescriptor() { return ownedByMessageDestinationRef() ? ownerMsgDestRef.getReferringBundleDescriptor() : ownerMsgBean.getEjbBundleDescriptor(); }
private void createMessageBeanPool(EjbMessageBeanDescriptor descriptor) { beanPoolDesc_ = descriptor.getIASEjbExtraDescriptors().getBeanPool(); String val = descriptor.getEjbBundleDescriptor().getEnterpriseBeansProperty(SINGLETON_BEAN_POOL_PROP); messageBeanPool_ = new NonBlockingPool(getContainerId(), appEJBName_, objFactory, beanPoolDesc_.getSteadyPoolSize(), beanPoolDesc_
Set runtimePropNames = new HashSet(); Set runtimeProps = msgDesc.getRuntimeActivationConfigProperties(); if(runtimeProps != null){ Iterator iter = runtimeProps.iterator(); Set standardProps = msgDesc.getActivationConfigProperties(); if(standardProps != null){ Iterator iter = standardProps.iterator();
/** * write the ejbmessage descriptor class to a DOM tree and return it * * @param parent node in the DOM tree * @param node name for the root element of this xml fragment * @param the descriptor to write * @return the DOM tree top node */ public Node writeDescriptor( Node parent, String nodeName, EjbMessageBeanDescriptor descriptor) { Node raNode = super.writeDescriptor(parent, nodeName, descriptor); appendTextChild(raNode, RuntimeTagNames.RESOURCE_ADAPTER_MID, descriptor.getResourceAdapterMid()); ActivationConfigNode activationConfigNode = new ActivationConfigNode(); activationConfigNode.writeDescriptor (raNode, RuntimeTagNames.ACTIVATION_CONFIG, descriptor.getRuntimeActivationConfigDescriptor()); return raNode; } }
public boolean hasJmsMessageSelector() { return ( getActivationConfigValue(MESSAGE_SELECTOR_PROPERTY) != null ); }
intfName = msgEjbDesc.getMessageListenerType(); msgEjbDesc.setMessageListenerType(intfName);
if (ejbMsgBeanDesc.getActivationConfigValue(envProp.getName()) == null) { ejbMsgBeanDesc.putActivationConfigProperty(envProp);
private MessageListener getMessageListener(ConnectorDescriptor desc) { String msgListenerType = getDescriptor().getMessageListenerType(); if (msgListenerType == null || "".equals(msgListenerType)) msgListenerType = "javax.jms.MessageListener"; Iterator i = desc.getInboundResourceAdapter().getMessageListeners().iterator(); MessageListener msgListener = null; while (i.hasNext()) { msgListener = (MessageListener) i.next(); if (msgListenerType.equals(msgListener.getMessageListenerType())) break; } return msgListener; }
(EjbMessageBeanDescriptor) ejbDescriptor; if ( mdb.getTransactionType().equals("Bean") ) { isBeanManagedTran = true;
private BundleDescriptor getBundleDescriptor() { return ownedByMessageDestinationRef() ? ownerMsgDestRef.getReferringBundleDescriptor() : ownerMsgBean.getEjbBundleDescriptor(); }