[jboss-svn-commits] JBL Code SVN: r20756 - in labs/jbossesb/workspace/jimma/product: rosetta/src/org/jboss/internal/soa/esb/webservice and 3 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Jun 25 04:42:36 EDT 2008
Author: jim.ma
Date: 2008-06-25 04:42:36 -0400 (Wed, 25 Jun 2008)
New Revision: 20756
Modified:
labs/jbossesb/workspace/jimma/product/rosetta/src/org/jboss/internal/soa/esb/publish/ServiceContractPublisher.java
labs/jbossesb/workspace/jimma/product/rosetta/src/org/jboss/internal/soa/esb/webservice/ESBServiceEndpointInfo.java
labs/jbossesb/workspace/jimma/product/rosetta/src/org/jboss/internal/soa/esb/webservice/JAXWSProviderClassGenerator.java
labs/jbossesb/workspace/jimma/product/rosetta/src/org/jboss/internal/soa/esb/webservice/JBossWSDeploymentGenerator.java
labs/jbossesb/workspace/jimma/product/rosetta/src/org/jboss/internal/soa/esb/webservice/jaxwsprovider-methodbody.template
labs/jbossesb/workspace/jimma/product/rosetta/src/org/jboss/soa/esb/listeners/config/Configuration.java
labs/jbossesb/workspace/jimma/product/rosetta/src/org/jboss/soa/esb/listeners/config/JBoss4ESBDeployer.java
labs/jbossesb/workspace/jimma/product/rosetta/src/org/jboss/soa/esb/listeners/config/ServicePublisher.java
labs/jbossesb/workspace/jimma/product/samples/quickstarts/helloworld_pub_service/jbm-queue-service.xml
labs/jbossesb/workspace/jimma/product/samples/quickstarts/helloworld_pub_service/jboss-esb.xml
labs/jbossesb/workspace/jimma/product/samples/quickstarts/helloworld_pub_service/src/org/jboss/soa/esb/samples/quickstart/helloworld/test/SOAPTest.java
Log:
* Reset the redployed flag when the esb deployment is successful
* Refactor the helloworld_pub_service sample and make it work for oneway esb service
Modified: labs/jbossesb/workspace/jimma/product/rosetta/src/org/jboss/internal/soa/esb/publish/ServiceContractPublisher.java
===================================================================
--- labs/jbossesb/workspace/jimma/product/rosetta/src/org/jboss/internal/soa/esb/publish/ServiceContractPublisher.java 2008-06-25 04:44:09 UTC (rev 20755)
+++ labs/jbossesb/workspace/jimma/product/rosetta/src/org/jboss/internal/soa/esb/publish/ServiceContractPublisher.java 2008-06-25 08:42:36 UTC (rev 20756)
@@ -55,12 +55,16 @@
import com.ibm.wsdl.extensions.soap.SOAPBindingImpl;
public class ServiceContractPublisher implements ContractPublisher {
- final QName XSD_QN = new QName("http://www.w3.org/2001/XMLSchema", "schema");
- String wsdl;
- Definition def = null;
- int nsSuffixCounter = 1;
-
- //TODO:Handle the exception
+ private final QName XSD_QN = new QName("http://www.w3.org/2001/XMLSchema", "schema");
+ private String wsdl;
+ private Definition def = null;
+ private int nsSuffixCounter = 1;
+ private Service svcConfig;
+
+ public ServiceContractPublisher(Service serviceConfig) {
+ svcConfig = serviceConfig;
+ }
+
public void generateWSDL(Service serviceConfig) throws ConfigurationException {
String targetNamespace = "http://soa.jboss.org/" + serviceConfig.getCategory().toLowerCase();
String serviceName = serviceConfig.getName();
@@ -267,6 +271,10 @@
def.addService(service);
}
+ public Service getServiceConfig() {
+ return svcConfig;
+ }
+
public String getWSDL() {
return wsdl;
}
Modified: labs/jbossesb/workspace/jimma/product/rosetta/src/org/jboss/internal/soa/esb/webservice/ESBServiceEndpointInfo.java
===================================================================
--- labs/jbossesb/workspace/jimma/product/rosetta/src/org/jboss/internal/soa/esb/webservice/ESBServiceEndpointInfo.java 2008-06-25 04:44:09 UTC (rev 20755)
+++ labs/jbossesb/workspace/jimma/product/rosetta/src/org/jboss/internal/soa/esb/webservice/ESBServiceEndpointInfo.java 2008-06-25 08:42:36 UTC (rev 20756)
@@ -31,6 +31,7 @@
private String wsdl;
private String targetNS;
private DeploymentInfo deploymentInfo;
+ private boolean isOneway;
public ESBServiceEndpointInfo(String serviceCategory, String serviceName) {
svcCat = serviceCategory;
svcName = serviceName;
@@ -112,5 +113,13 @@
public DeploymentInfo getDeploymentInfo() {
return deploymentInfo;
}
+
+ public void setOneway(boolean value) {
+ isOneway = value;
+ }
+
+ public boolean isOneWay() {
+ return isOneway;
+ }
}
Modified: labs/jbossesb/workspace/jimma/product/rosetta/src/org/jboss/internal/soa/esb/webservice/JAXWSProviderClassGenerator.java
===================================================================
--- labs/jbossesb/workspace/jimma/product/rosetta/src/org/jboss/internal/soa/esb/webservice/JAXWSProviderClassGenerator.java 2008-06-25 04:44:09 UTC (rev 20755)
+++ labs/jbossesb/workspace/jimma/product/rosetta/src/org/jboss/internal/soa/esb/webservice/JAXWSProviderClassGenerator.java 2008-06-25 08:42:36 UTC (rev 20756)
@@ -38,6 +38,7 @@
import org.antlr.stringtemplate.StringTemplate;
import org.apache.commons.io.IOUtils;
+import org.jboss.soa.esb.message.Message;
import org.jboss.soa.esb.util.ClassUtil;
public class JAXWSProviderClassGenerator {
@@ -125,8 +126,15 @@
IOUtils.copy(in, strWriter);
StringTemplate template = new StringTemplate(strWriter.toString());
- template.setAttribute("Category", epInfo.getServiceCategory());
- template.setAttribute("ServiceName", epInfo.getServiceName());
+ if (epInfo.isOneWay()) {
+ template.setAttribute("InvokeMethod", "serviceInvoker.deliverAsync(msg)");
+ template.setAttribute("Result", "javax.xml.soap.MessageFactory.newInstance().createMessage()");
+ } else {
+ template.setAttribute("InvokeMethod", "msg = serviceInvoker.deliverSync(msg, (long)30000)");
+ //TODO: when the ESB actions mep is request-response
+ template.setAttribute("Result", "request");
+ }
+
return template.toString();
}
Modified: labs/jbossesb/workspace/jimma/product/rosetta/src/org/jboss/internal/soa/esb/webservice/JBossWSDeploymentGenerator.java
===================================================================
--- labs/jbossesb/workspace/jimma/product/rosetta/src/org/jboss/internal/soa/esb/webservice/JBossWSDeploymentGenerator.java 2008-06-25 04:44:09 UTC (rev 20755)
+++ labs/jbossesb/workspace/jimma/product/rosetta/src/org/jboss/internal/soa/esb/webservice/JBossWSDeploymentGenerator.java 2008-06-25 08:42:36 UTC (rev 20756)
@@ -50,8 +50,7 @@
public JBossWSDeploymentGenerator(ESBServiceEndpointInfo endpoint) {
endpointInfo = endpoint;
- warName = (endpoint.getServiceCategory().toLowerCase() + "-" + endpoint
- .getServiceName()).toLowerCase()
+ warName = endpoint.getDeploymentInfo().shortName.replace('.', '_')
+ ".war";
ServerConfig config = ServerConfigLocator.locate();
tempDeployDir = config.getServerTempDeployDir();
Modified: labs/jbossesb/workspace/jimma/product/rosetta/src/org/jboss/internal/soa/esb/webservice/jaxwsprovider-methodbody.template
===================================================================
--- labs/jbossesb/workspace/jimma/product/rosetta/src/org/jboss/internal/soa/esb/webservice/jaxwsprovider-methodbody.template 2008-06-25 04:44:09 UTC (rev 20755)
+++ labs/jbossesb/workspace/jimma/product/rosetta/src/org/jboss/internal/soa/esb/webservice/jaxwsprovider-methodbody.template 2008-06-25 08:42:36 UTC (rev 20756)
@@ -1,11 +1,14 @@
{ javax.xml.soap.SOAPMessage request = (javax.xml.soap.SOAPMessage)obj;
try {
- org.jboss.soa.esb.message.Message msg = org.jboss.soa.esb.message.format.MessageFactory.getInstance().getMessage();
- msg.getBody().add(request.getSOAPBody().toString());
- org.jboss.soa.esb.message.Message resMsg = serviceInvoker.deliverSync(msg, (long)2000);
+ org.jboss.soa.esb.message.Message msg = org.jboss.soa.esb.message.format.MessageFactory.getInstance().getMessage();
+ java.io.ByteArrayOutputStream byteStream = new java.io.ByteArrayOutputStream();
+ request.writeTo(byteStream);
+ msg.getBody().add(byteStream.toString());
+ byteStream.close();
+ $InvokeMethod$;
} catch (Exception e) {
e.printStackTrace();
}
- return request;
+ return $Result$;
}
\ No newline at end of file
Modified: labs/jbossesb/workspace/jimma/product/rosetta/src/org/jboss/soa/esb/listeners/config/Configuration.java
===================================================================
--- labs/jbossesb/workspace/jimma/product/rosetta/src/org/jboss/soa/esb/listeners/config/Configuration.java 2008-06-25 04:44:09 UTC (rev 20755)
+++ labs/jbossesb/workspace/jimma/product/rosetta/src/org/jboss/soa/esb/listeners/config/Configuration.java 2008-06-25 08:42:36 UTC (rev 20756)
@@ -45,6 +45,7 @@
import org.jboss.soa.esb.helpers.ConfigTree;
import org.jboss.soa.esb.listeners.LifecycleUtil;
import org.jboss.soa.esb.listeners.ListenerTagNames;
+import org.jboss.soa.esb.listeners.config.xbeanmodel.MepType;
import org.jboss.soa.esb.listeners.lifecycle.ManagedLifecycle;
import org.jboss.soa.esb.listeners.lifecycle.ManagedLifecycleController;
import org.jboss.soa.esb.util.ClassUtil;
@@ -145,9 +146,11 @@
ServiceContractPublisher serviceContractpublisher = (ServiceContractPublisher) publisher
.getContractPublisher();
String wsdl = serviceContractpublisher.getWSDL();
- ESBServiceEndpointInfo endpoint = new ESBServiceEndpointInfo(
- publisher.getCategory(), publisher
- .getServiceName());
+ ESBServiceEndpointInfo endpoint = new ESBServiceEndpointInfo(publisher.getCategory(), publisher.getServiceName());
+ MepType.Enum mep = serviceContractpublisher.getServiceConfig().getActions().getMep() ;
+ if (mep != null && mep.equals(MepType.ONE_WAY)) {
+ endpoint.setOneway(true);
+ }
if (hasPublishedWSWar(esbFile, publisher)) {
continue;
}
Modified: labs/jbossesb/workspace/jimma/product/rosetta/src/org/jboss/soa/esb/listeners/config/JBoss4ESBDeployer.java
===================================================================
--- labs/jbossesb/workspace/jimma/product/rosetta/src/org/jboss/soa/esb/listeners/config/JBoss4ESBDeployer.java 2008-06-25 04:44:09 UTC (rev 20755)
+++ labs/jbossesb/workspace/jimma/product/rosetta/src/org/jboss/soa/esb/listeners/config/JBoss4ESBDeployer.java 2008-06-25 08:42:36 UTC (rev 20756)
@@ -430,11 +430,19 @@
try
{
serviceController.start(di.deployedObject);
+ //Notifying the MainDeployer to redeploy is not the ideal way
+ //Because the MainDeployer sets the "LastModifed" after excute start(),
+ //Any change for ESB archive during deployment can not
+ //be detected by DeploymentScanner. How can we notify the DeploymentScanner the update for this esb
+ //Is there some listener mechanism for it?
if (Configuration.genratedWSWar() && !redployed) {
log.debug("Redployed " + di.shortName);
redployed = true;
mainDeployer.redeploy(di);
- }
+ } else {
+ //reset redployed to false
+ redployed = false;
+ }
}
catch (Exception e)
{
Modified: labs/jbossesb/workspace/jimma/product/rosetta/src/org/jboss/soa/esb/listeners/config/ServicePublisher.java
===================================================================
--- labs/jbossesb/workspace/jimma/product/rosetta/src/org/jboss/soa/esb/listeners/config/ServicePublisher.java 2008-06-25 04:44:09 UTC (rev 20755)
+++ labs/jbossesb/workspace/jimma/product/rosetta/src/org/jboss/soa/esb/listeners/config/ServicePublisher.java 2008-06-25 08:42:36 UTC (rev 20756)
@@ -179,7 +179,7 @@
}
if (service.getActions().getInXsd() != null)
{
- ServiceContractPublisher publisher = new ServiceContractPublisher();
+ ServiceContractPublisher publisher = new ServiceContractPublisher(service);
try {
publisher.generateWSDL(service);
} catch (ConfigurationException e) {
Modified: labs/jbossesb/workspace/jimma/product/samples/quickstarts/helloworld_pub_service/jbm-queue-service.xml
===================================================================
--- labs/jbossesb/workspace/jimma/product/samples/quickstarts/helloworld_pub_service/jbm-queue-service.xml 2008-06-25 04:44:09 UTC (rev 20755)
+++ labs/jbossesb/workspace/jimma/product/samples/quickstarts/helloworld_pub_service/jbm-queue-service.xml 2008-06-25 08:42:36 UTC (rev 20756)
@@ -1,15 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<server>
<mbean code="org.jboss.jms.server.destination.QueueService"
- name="jboss.esb.quickstart.destination:service=Queue,name=quickstart_helloworld_Request_esb"
+ name="jboss.esb.quickstart.destination:service=Queue,name=quickstart_helloworld_pub_service_Request_esb"
xmbean-dd="xmdesc/Queue-xmbean.xml">
<depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
<depends>jboss.messaging:service=PostOffice</depends>
</mbean>
- <mbean code="org.jboss.jms.server.destination.QueueService"
- name="jboss.esb.quickstart.destination:service=Queue,name=quickstart_helloworld_Request_gw"
- xmbean-dd="xmdesc/Queue-xmbean.xml">
- <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
- <depends>jboss.messaging:service=PostOffice</depends>
- </mbean>
</server>
Modified: labs/jbossesb/workspace/jimma/product/samples/quickstarts/helloworld_pub_service/jboss-esb.xml
===================================================================
--- labs/jbossesb/workspace/jimma/product/samples/quickstarts/helloworld_pub_service/jboss-esb.xml 2008-06-25 04:44:09 UTC (rev 20755)
+++ labs/jbossesb/workspace/jimma/product/samples/quickstarts/helloworld_pub_service/jboss-esb.xml 2008-06-25 08:42:36 UTC (rev 20756)
@@ -3,16 +3,10 @@
<providers>
<jms-provider name="JBossMQ" connection-factory="ConnectionFactory">
- <jms-bus busid="quickstartGwChannel">
- <jms-message-filter
- dest-type="QUEUE"
- dest-name="queue/quickstart_helloworld_Request_gw"
- />
- </jms-bus>
<jms-bus busid="quickstartEsbChannel">
<jms-message-filter
dest-type="QUEUE"
- dest-name="queue/quickstart_helloworld_Request_esb"
+ dest-name="queue/quickstart_helloworld_pub_service_Request_esb"
/>
</jms-bus>
@@ -21,15 +15,10 @@
<services>
<service
- category="FirstServiceESB"
- name="SimpleListener"
- description="Hello World">
+ category="ESBServiceSample"
+ name="HelloWorldPubService"
+ description="Hello world ESB Service">
<listeners>
- <jms-listener name="JMS-Gateway"
- busidref="quickstartGwChannel"
- maxThreads="1"
- is-gateway="true"
- />
<jms-listener name="helloWorld"
busidref="quickstartEsbChannel"
maxThreads="1"
@@ -44,7 +33,6 @@
<property name="printfull" value="true"/>
</action>
<!-- The next action is for Continuous Integration testing -->
- <action name="testStore" class="org.jboss.soa.esb.actions.TestMessageStore"/>
</actions>
</service>
</services>
Modified: labs/jbossesb/workspace/jimma/product/samples/quickstarts/helloworld_pub_service/src/org/jboss/soa/esb/samples/quickstart/helloworld/test/SOAPTest.java
===================================================================
--- labs/jbossesb/workspace/jimma/product/samples/quickstarts/helloworld_pub_service/src/org/jboss/soa/esb/samples/quickstart/helloworld/test/SOAPTest.java 2008-06-25 04:44:09 UTC (rev 20755)
+++ labs/jbossesb/workspace/jimma/product/samples/quickstarts/helloworld_pub_service/src/org/jboss/soa/esb/samples/quickstart/helloworld/test/SOAPTest.java 2008-06-25 08:42:36 UTC (rev 20756)
@@ -32,7 +32,7 @@
+ "<soapenv:Header/><soapenv:Body><cus:customerName>JBOSS</cus:customerName></soapenv:Body></soapenv:Envelope>";
HttpClient client = new HttpClient();
PostMethod postMethod = new PostMethod(
- "http://127.0.0.1:8080/firstserviceesb-simplelistener/FirstServiceESB/SimpleListener");
+ "http://127.0.0.1:8080/Quickstart_helloworld_pub_service_esb/ESBServiceSample/HelloWorldPubService");
StringRequestEntity requestEntity = new StringRequestEntity(request);
postMethod.setRequestEntity(requestEntity);
More information about the jboss-svn-commits
mailing list