<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Java 人生

    java (Java EE)&Linux

    BlogJava 首頁 新隨筆 聯系 聚合 管理
      15 Posts :: 2 Stories :: 5 Comments :: 0 Trackbacks

    2006年4月15日 #

     

    BPEL的概念

          BPEL(Business Process Execution Language)又叫BPEL4WS(Business Process Execution Language For Web Service),面向Web服務的業務流程執行語言。是一種使用Web服務定義和執行業務流程的語言。BPEL提供了一種相對簡單易懂的方法,可將多個WEB服務組合到一個新的復合服務(稱作業務流程)中。

          BPEL本身是一個Web服務,可以作為服務的提供者。

          BPEL是基於Web服務的,沒有Web服務就沒有BPEL


      

     BPEL
    的運作方式


     BPEL的一般構成

          一個以bpel為後綴的文件(例如MyFlow.bpel)

          一個WSDL文件

          一個部置XML文件,樣子形似bpel.xml

     BPEL的實現需求

          需要熟悉單個的Web Service的使用方法

          需要了解具體的業務流程

          需要一個運行BPEL的處理器

          需要一個流程設計器

          當然需要對BPEL語法標簽的掌握等

    8.6 BPEL的結構

    BPEL的一般結構

                <process>

                  <partnerLinks>

                    <partnerLink>

                    </partnerLink>

                  </partnerLinks>

                  <variables>

                    <variable/>

                  </variables>

                  <faultHandlers>   

                  </faultHandlers>

                  <sequence>

                      Activities

                  </sequence>

                </process>

    <process>的屬性

    <process name="ncname" targetNamespace="uri"

             queryLanguage="anyURI"?

             expressionLanguage="anyURI"?

             suppressJoinFailure="yes|no"?

             enableInstanceCompensation="yes|no"?

             abstractProcess="yes|no"?         xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/">

    .

    .

    </process>

    <partnerLinks>樣式

    <partnerLinks>

        <!– 注意:至少要指定一個角色. -->

        <partnerLink name="ncname"

                             partnerLinkType="qname"

                             myRole="ncname“

                             partnerRole="ncname">

        </partnerLink>

     </partnerLinks>

    <variables>樣式

    <variables>

        <variable name="ncname"  

                        messageType="qname/>

     </variables>

    <faultHandlers>樣式

    <faultHandlers>

     <catch faultName="qname“

                 faultVariable="ncname">

          activity

        </catch>

        <catchAll>

          activity

        </catchAll>

     </faultHandlers>

    Activities包含具體如下

                <receive>

                <reply>

                <invoke>

                <assign>

                <throw>

                <terminate>

                <wait>

                <empty>

                <sequence>

                <switch>

                <while>

                <pick>

                <flow>

                <scope>

                <compensate>

    基本活動一

                <invoke>

    – 調用某個 Web 服務上的操作

                <receive>

    – 等待一條消息來回應由某人從外部進行調用的服務介面的操作

                <reply>

    – 生成輸入/輸出操作的回應

                <wait>

    – 等待一段時間

    基本活動二

                <assign>

    – 把資料從一個地方複製到另一個地方

                <throw>

    – 指明某個地方出錯了

                <terminate>

    – 終止整個服務實例

                <empty>

    – 什麼也不做

    結構化活動

                <sequence>

    – 定義一組步驟的有序序列

                <switch>

    – 使用現在常見的“case-statement”辦法來産生分支

                <while>

    – 定義一個迴圈

                <pick>

    – 執行幾條可選路徑中的一條

                <flow>

    – 以及指明一組步驟應該並行地執行

    一個完整的簡單示例

    <process name="test" targetNamespace="http://acm.org/samples"

                   suppressJoinFailure="yes"

                   xmlns:tns="http://acm.org/samples"

                   xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"

                   xmlns:bpelx="http://schemas.oracle.com/bpel/extension"

                   xmlns:ora="http://schemas.oracle.com/xpath/extension"

                   xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/">

       <partnerLinks>

       <!-- The 'client' role represents the requester of this service. -->

          <partnerLink name="client" partnerLinkType="tns:test" myRole="testProvider"/>

       </partnerLinks>

       <variables>

          <variable name="input" messageType="tns:testRequestMessage"/>

          <variable name="output" messageType="tns:testResponseMessage"/>

       </variables>

       <sequence name="main">

          <receive name="receiveInput" partnerLink="client" portType="tns:test" operation="process" variable="input" createInstance="yes"/>

          <assign name="creatReturnStr">

             <copy>

                <from expression="concat(&quot;Hello&quot;, bpws:getVariableData('input','payload','/tns:testRequest/tns:input'))"></from>

                <to variable="output" part="payload" query="/tns:testResponse/tns:result"/>

             </copy>

          </assign>

          <reply name="replyOutput" partnerLink="client" portType="tns:test" operation="process" variable="output"/>

       </sequence>

    </process>

    posted @ 2007-09-14 08:51 jinmy liao 閱讀(501) | 評論 (0)編輯 收藏

    配置說明

    程序名稱

    JBoss ESB

    數據庫路徑和名稱

    222.118.20.108\jbossesb

    程序的文件構成說明

    1)?????? Jboss4.0.4GA (contain Ejb3.0)

    2)?????? jbossesb-4.0Beta1MP1????

    2.1 jbossesb-appl.ear

    2.2 jbossEsb.properties

    2.3 JBossESB-ds.xml

    2.4 properties-service.xml

    2.5 ObjStore.xml

    配置步驟如下 :

    1. jbossesb-appl.ear 復制到 <JBoss-home>/server/default/deploy
    2. properties-service.xml 復制到 <Jboss-home>/server/default/deploy
    3. 復制 Jbossesb.properties <Jboss-home>/server/default/conf
    4. 編輯 JBossESB-ds.xml
    5. 復制 JbossESB-ds.xml <JBoss-home>/server/default/deploy

    ?

    運行條件和配置說明

    運行平臺和條件

    Windows

    Linux

    數據源配置

    1)數據源配置在JBossESB-ds.xml文件配置,詳細信息如下:

    <datasources>

    ? <local-tx-datasource>

    ??? <jndi-name>JBossESBDS</jndi-name>

    ?

    ??? <connection-url>jdbc:jtds:sqlserver://222.118.20.108;DatabaseName=jbossesb</connection-url>

    ??? <driver-class>net.sourceforge.jtds.jdbc.Driver</driver-class>

    ??? <user-name>dbname</user-name>

    ??? <password>access</password>

    ?

    ??? <min-pool-size>10</min-pool-size>

    ??? <max-pool-size>100</max-pool-size>

    ??? <blocking-timeout-millis>1000</blocking-timeout-millis>

    ??? <idle-timeout-minutes>5</idle-timeout-minutes>

    ?

    ? </local-tx-datasource>

    ?

    </datasources>

    2.修改jbossEsb.properties文件:

    org.jboss.soa.esb.mail.smtp.host=www.163.com

    org.jboss.soa.esb.mail.smtp.port=23

    org.jboss.soa.esb.mail.smtp.user=ejinmy

    org.jboss.soa.esb.mail.smtp.password=123456789abc

    ?

    ?

    #

    # Object Store Settings

    #

    org.jboss.soa.esb.objStore.configfile=file:/e:/temp/ObjStore.xml

    程序運行配置

    必需是 JBoss .4.0.4 版本,還要支持 EJB3.0

    運行 JBoss App Server 就啟動了 JBoss ESB.

    其它說明

    數據庫表(script)

    CREATE TABLE batches (

    ??? batch_num int NOT NULL,

    ??? seq integer NOT NULL,

    ??? data varchar,

    ??? CONSTRAINT batches_pk PRIMARY KEY (batch_num,seq)

    );

    ?

    ?

    CREATE TABLE object_snap (

    ??? uid int NOT NULL,

    ??? stamp int,

    ??? snap_type varchar,

    ??? object_uid int,

    ??? batch_num int,

    ??? xml_data varchar,

    ??? CONSTRAINT object_snap_pk PRIMARY KEY (uid)

    );

    ?

    ?

    CREATE TABLE people_index (

    ? ??uid bigint NOT NULL,

    ??? stamp int,

    ??? latest_snap_uid int,

    ??? latest_snap_date varchar,

    ??? name varchar,

    ??? phone varchar,

    ??? address varchar,

    ??? CONSTRAINT people_index_pk PRIMARY KEY (uid)

    );

    ?

    ?

    CREATE TABLE uid_table (

    ??? uid integer NOT NULL,

    ??? sequence_name varchar NOT NULL,

    ??? last_used_uid bigint NOT NULL,

    ??? CONSTRAINT uid_table_pk PRIMARY KEY (uid)

    );

    ?

    ?

    INSERT INTO uid_table (uid, sequence_name, last_used_uid) VALUES (1, 'jbossEsb_objuid', 10500000);

    INSERT INTO uid_table (uid, sequence_name, last_used_uid) VALUES (2, 'jbossEsb_batchuid', 251000);

    ???

    此文檔是配置安裝JBOSS ESB的步驟說明書.

    ?

    填寫日期: 2006/10/18      填寫人: ?? ??jinmy ????
    ? 更新日期:

    ?

    ?

    有使用JBoss ESB的可以一起探討,QQ:182529178
    posted @ 2006-10-21 14:20 jinmy liao 閱讀(2331) | 評論 (1)編輯 收藏

    cimero
    posted @ 2006-09-26 11:26 jinmy liao 閱讀(783) | 評論 (0)編輯 收藏

    ? 好久都沒有來這裡看一下了,由於這兩個月要忙一個流程,公司在英國開一個銷售公司,要準備程序給他們用,本來現在的流程運作基本上可以,但是現在的程序能拿到英國用?
    ? 由於是一個銷售的公司,有了銷售、采購、倉庫就差不多了。這些程序我們都有,但是為了那邊的程序、流程能順暢的運行,任務還有好多,到8月15任務就要完成,也差不多了,呵,看了下現在的情況,還基本上可以,不過還有程序沒有組合起來。
    ? 從這兩個月的任務中,我感覺到程序的開發要做到重用、擴展,並不是很容易的事。
    首先從數據層來說,不同的地方有可能使用不同的數據表,在java中開發到是比較容易處理,但是如果是用C/S的delphi開發的大部分都是直接使用sql的,很難實現這一點
    也許你會說,為什麼不使用同一個數據表?情況很多,我們公司是這樣的,賣了一套ERP(不完整版本),自己開發了其余部分,這兩個程序
    要同時運行,只有我們新開發的程序要使用不同表的情況。同樣我們的合作公司,有可能有他自己的系統,如果能做到不依賴於基表
    就更容易重用,數據共享.
    接下來就是:業務功能的重用.
    像倉庫的進貨、出貨,可用於PO,SO,生產等,都是一樣的意義。為了能使不同地方的業務功能能重用,我們使用SOA的思想
    利用WebServices、ESB的技術來實現,業務的服務化.
    再就是:擴展
    不同的地方有可能需求有不同,這是很合乎情理的,如現在英國要看到我們貨物在途量,本來倉庫沒有這個功能的.
    我想要做到軟件的可維護、可重用不是簡單的知道使用語言,這個直接輿個人的習慣有很大的關係
    其他開發軟件,就是開發人員處理這個,等於生活的中的煮飯一樣,有的人很輕松就完成,有的人就弄的一團糟
    多鍛煉積累經驗也是重要,最後提醒自己,做任何事情都不能馬虎,要仔細考慮。同時希望8.15能完成任務

    ?

    posted @ 2006-08-01 20:11 jinmy liao 閱讀(421) | 評論 (0)編輯 收藏

    感覺沒有插件開發工程真的好辛苦,總想去找個插件,但是一直沒有發現,有哪位朋友使用ESB的,能介紹個開發工具?
    posted @ 2006-07-23 09:54 jinmy liao 閱讀(1572) | 評論 (1)編輯 收藏

    不好意思,才知道我也加入了這個團對,非常感謝。
    先說一下我的SOA觀點吧.
    從程序開始的結構化到面向對象,到現在現在的面向服務(組件),從原來的重用打包提供API,到現在的SPI
    世界上的每一個細胞都在發育成長,同樣電腦的技術也是不段的更換原來的技術觀念。
    我從去年開始用web services,那時候還不在了解SOA,只知道ws能實現原來的分布式.
    隨著ws的wsdl增多,可能要先調用一個接口得到結果再去調用另外一個接口得到結果,這樣就認識了BPEL.
    也知道了SOA在一個企業中能把所有不同的系統之間關聯起來的思想的必要性。我覺得SOA思想應該是這十年,重要的編程思想
    也許有一天還有更厲害的思想,哪時候應該是很少寫程序的了,這樣就有另外的架構。

    呵,以後我會跟大家多認識,我現在在用mule來實現ESB,以後跟大家交流.
    posted @ 2006-04-25 19:44 jinmy liao 閱讀(538) | 評論 (1)編輯 收藏

    一.SOA
    SOA是一種新架構程序的方法通過服務組合,而不是模塊方法組合代碼.
    SOA軟件系統架構原理是基於自身描述理念:一個服務是一個Function(usually a business function)服務提供者和服務消費者之間通過消息交換來完成.
    SOA優點:
    1)SOA主要的優點是:松耦合(decoupling)
    ?? 在服務提供者和服務消費之間提供接口,這樣可以更改服務的具體實現而不影響服務消費。
    2)SOA的另外一個好處是可重用的(reuse)服務可以在不同的應用程序中重用。
    我們可以想象應用程序除了包括使用服務、服務提供之外沒有其他的東西了。
    SOA應用:
    一個應用程序符合SOA包括兩個不同的開發行為:
    1)Service Creation:集成現成的方法使它們成為服務。
    2)Service Composition:使用現成的服務創建一個應用程序和更大的服務.

    二.JBI(Java Business Integration)
    JBI是SOA的解決和集成的基礎
    JBI提供了組件之間交互的消息基礎:
    ?1)NormalizedMessage(NM) 所有基于消息的數據片段——SOAP片段、MOM消息、HTTP數據或其它信息——被聚合、集中、
    ?應用到業務邏輯、傳輸,如果有必要則轉換成其他格式隨後被分派到最終目的地
    ?2)JBI machine (SE)
    ?? 組件提供或者消費服務是基於本地的
    ?3)JBI binding (BC)
    ?? 組件 提供或者消費服務是通過一些通信協議或者是其他遠程技術
    ?組件之間的交互通過消息交換,消息是服務提供者發佈的WSDL?
    服務元件(Service Unit)
    ?一個服務元件看作是一個黑盒子,它提供了一個靜態的服務,
    ?服務元件中包含有,提供的服務和服務消費者。它們都從屬服務元件,一個服務元件可以有0個或者多個服務

    ?服務集合(service Assembly)
    ?組合服務元件是大的應用程序或者新的服務形式出現 A Service Assembly:一組JBI 服務元件連同描述它們的關係和目標組件
    總結:
    JBI是SOA結構的基礎,它把原來的業務函數集成為一個服務,使服務提供者和服務消費者之間的交互是松耦合的,通過service assembly(服務集合)
    可以組合不同的程序,架構圖:
    JBI.bmp

    servicemix

    ?
    posted @ 2006-04-22 16:24 jinmy liao 閱讀(1291) | 評論 (2)編輯 收藏


    消息傳遞系統通常被成為MOM(Message Oriented MiddleWare),作為消息服務器,MOM需要客戶端用統一的標準訪問服務器,JMS標準是使用
    最廣泛的消息接口標準.
    JMS消息分點對點、基於主題的消息兩種
    點對點方式:是兩個客戶端建立消息隊列,消息發送者(sender)把消息(Message)給消息服務器中的一個隊列(Queue),消息接受者(receiver)從服務器中這個隊列中
    獲取消息.
    主題消息:消息發送者響向消息服務器中的一個主題發送消息(Message),對這個消息有訂閱的接受者都會接受到這個消息.
    JMS中的主要名詞:
    1)目的地(Desination)
    ?是發送者和接受者的一個共同的地點,發送者把消息發送到這裡,接受者從這裡獲取消息,是我們在服務器中創建的一個隊列,服務器會對這個地方的所有消息維護。
    2)會話
    ?消息發送者和接受,都要通過JNDI獲取消息服務器的上下文,session就是這樣的一個上下文對象,它可以創建消息生產者、消費者,可以創建點對點消息、主題消息
    所有的消息操作都圍繞這個會話展開.

    消息結構的介紹
    用過web services(SOAP)應該知道消息包括信封、消息頭、主體、附件.同樣JMS消息結構也是差不多包括消息頭、消息屬性、消息體.
    以JMS、SOAP為基礎可以實現面向消息模型(MOM Message Oriented Model)。
    JMS消息樣式:
    SpyTextMessage {
    ???? Header {
    ??????? jmsDestination? : QUEUE.mytestjms
    ??????? jmsDeliveryMode : 2
    ??????? jmsExpiration?? : 0
    ??????? jmsPriority???? : 4
    ??????? jmsMessageID??? : ID:6-11454947326091
    ??????? jmsTimeStamp??? : 1145494732609
    ??????? jmsCorrelationID: null
    ??????? jmsReplyTo????? : null
    ??????? jmsType???????? : null
    ??????? jmsRedelivered? : false
    ??????? jmsProperties?? : {}
    ??????? jmsPropReadWrite: false
    ??????? msgReadOnly???? : true
    ??????? producerClientId: ID:6
    ???? }
    ???? Body {
    ??????? text??????????? :sender message from liao test
    ???? }
    JMS簡單編程實現點對點的消息 服務器用jboss-4.0.3SP1
    1)首先在JBOSS中部屬一個點對點的消息隊列
    配置文件放在JBOSS_Home\server\default\deploy\jms
    配置文件的內容為:
    <?xml version="1.0" encoding="UTF-8"?>

    <server>
    ?<!--是一個點對點的用org.jboss.mq.server.jmx.Queue(Topic),desination的名稱為mytestjms?
    ? 更多的配置說明可以看原來jboss自帶的Jms配置文件,文件名要用*-service.xml
    ?-->
    ? <mbean code="org.jboss.mq.server.jmx.Queue" name="jboss.mq.destination:service=Queue,name=mytestjms">
    ??? <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
    ? </mbean>

    </server>
    2)實現消息發送者
    import java.util.Hashtable;
    import javax.jms.*;
    import javax.naming.*;
    public class JMSSender {
    ??? QueueSession session;
    ??? QueueConnection conn;
    ??? QueueSender sender;
    ??? QueueReceiver receiver;
    ??? public void clientconnect()throws Exception
    ??? {
    ??????? //消息服務器(destination)設置
    ??????? Hashtable env =? new Hashtable();
    ??????? env.put(Context.INITIAL_CONTEXT_FACTORY,"org.jnp.interfaces.NamingContextFactory");
    ??????? env.put(Context.PROVIDER_URL,"localhost");
    ??????? Context iniCtx = new InitialContext(env)? ;
    ???????? //查創建JMS連接的工廠類
    ??????? Object tmp = iniCtx.lookup("ConnectionFactory");
    ??????? QueueConnectionFactory qcf = (QueueConnectionFactory)tmp;
    ????????
    ??????? //查找JMS目標對象 點對點
    ??????? Queue queue = (Queue)iniCtx.lookup("queue/mytestjms");
    ??????? //創建JMS連接
    ??????? conn = qcf.createQueueConnection();
    ??????? //創建JMS會話
    ???????? session = conn.createQueueSession(false,QueueSession.AUTO_ACKNOWLEDGE);
    ???????? //開始連接
    ??????? conn.start();
    ??????? sender = session.createSender(queue);
    ??????? receiver = session.createReceiver(queue);
    ??? }
    ??? public? JMSSender()
    ??? {
    ??????? try{
    ?????????? System.out.println("begin");
    ??????????? clientconnect();
    ??????????? TextMessage textmsg = this.session.createTextMessage();
    ??????????? textmsg.setText("sender message from liao test");
    ??????????? //發送消息 點對點
    ??????????? sender.send(textmsg);
    ??????????? disConnect();
    ??????????? System.out.println("success");
    ??????? }catch(Exception e)
    ??????? {
    ??????????? e.printStackTrace();
    ??????? }

    ??? }
    ??? /**
    ???? * 停止和關閉JMS連接
    ???? * @throws JMSException
    ???? */
    ??? public void disConnect() throws JMSException
    ??? {
    ??????? conn.stop();
    ??????? session.close();
    ??????? conn.close();
    ??? }
    ??? public Message receiver() throws JMSException
    ??? {
    ??????? return receiver.receive(1000);
    ??? }
    ??? public static void main(String[] args)throws Exception
    ??? {
    ???????? new JMSSender();
    ??? }
    }
    3)實現消息接受者
    import java.util.Hashtable;
    import javax.jms.*;
    import javax.naming.*;
    public class JMSReceiver {
    ??? QueueSession session;
    ??? QueueConnection conn;
    ??? QueueReceiver receiver;
    ???
    ??? public void clientconnect()throws Exception
    ??? {
    ??????? Hashtable env =? new Hashtable();
    ??????? env.put(Context.INITIAL_CONTEXT_FACTORY,"org.jnp.interfaces.NamingContextFactory");
    ??????? env.put(Context.PROVIDER_URL,"localhost");

    ??????? Context iniCtx = new InitialContext(env)? ;
    ??????? Object tmp = iniCtx.lookup("ConnectionFactory");
    ??????? QueueConnectionFactory qcf = (QueueConnectionFactory)tmp;
    ??????? Queue queue = (Queue)iniCtx.lookup("queue/mytestjms");
    ??????? conn = qcf.createQueueConnection();
    ???????? session = conn.createQueueSession(false,QueueSession.AUTO_ACKNOWLEDGE);
    ??????? conn.start();
    ??????? receiver = session.createReceiver(queue);
    ??? }
    ??? public void disConnect() throws JMSException
    ?? {
    ?????? conn.stop();
    ?????? session.close();
    ?????? conn.close();
    ?? }
    ?? public Message receiver() throws JMSException
    ?? {
    ?????? return receiver.receive(1000);
    ?? }
    ?? public JMSReceiver()throws Exception
    ?? {
    ??????? clientconnect();
    ???????? Message msg = receiver();
    ???????? System.out.println(msg);
    ???????? if (msg instanceof TextMessage)
    ???????? {
    ???????????? TextMessage tmsg = (TextMessage)msg;
    ???????????? //消息主題內容:
    ???????????? System.out.println(tmsg.getText());
    ???????? }
    ???????? System.out.println("success");
    ???????? disConnect();
    ?
    ?? }

    ?

    ??? public static void main(String[] args)throws Exception
    ??? {
    ??????? new JMSReceiver();
    ??? }
    }

    主題消息用到Topic,思路基本相同,接受必需先訂閱消息主題,當有發送者把消息發給這個主題的時候
    先前訂閱的接受就會收到這個消息。
    SOA中JMS也是一個熱門,客戶端通常用JMS發送消息再ESB中調用具體的服務。

    posted @ 2006-04-20 11:15 jinmy liao 閱讀(2087) | 評論 (0)編輯 收藏

    消息在同一個系統中或者在不同的系統都可以要交互,因為工作都是要交流的,就拿企業的定單修改為例子,當一個定單要修改,得通知不同的管理人員,當然還要更可靠的消息(Email),在OA系統中,經常要監測消息,看是否有流程任務到達該用戶,有則提示消息。
    下面是我做的一個小的服務器處理消息,功能如下:

    1)?????? 提供客戶端調用的接口(web services)

    2)?????? 編寫處理處理消息的類,消息現在包括 , 登陸消息、登出消息、消息發送,消息狀態的修改

    登陸消息包括 : 客戶端的用戶名、 ip 、端口 ;

    登出消息包括 : 客戶端的用戶名,服務器將注銷客戶端登陸時發過來的消息

    發送的消息包括 : 發送人,接受人,發送事件,發送的內容 .
    修改狀態:包括消息的關鍵字ID
    3)?????? 在客戶端登陸的時候監測是否是否有新消息,有則發送給客戶端


    4)發送的消息如果接受用戶不在線,則保存該消息,等接受者登陸的時候再發送給接受者。

    消息有一個狀態N表示新的消息,O表示已經確認的消息.
    消息傳給用戶,用戶確認在回寫消息狀態
    客戶端調用的接口可以是JMS,Http由於現在只有delphi客戶端,現在提供web services訪問
    流程圖:flow.bmp

    posted @ 2006-04-18 20:22 jinmy liao 閱讀(502) | 評論 (0)編輯 收藏

    折騰了兩天,想寫一個JBI Component,到現在都還沒有運行起來。
    運行環境是在Servicemix,主要是沒有工具,配置文件特別多,像jbi.xml,servicemix.xml,sys-.xml等
    要不是找不到服務就是客戶端調用服務器出錯。
    還真是難運行,中文的資料也特別少,今天還得到一個網絡朋友的幫助,還是沒有成功運行
    有點像開始寫EJB的時候,這麼難運行。
    看明天的的情況了。my god!

    posted @ 2006-04-15 17:06 jinmy liao 閱讀(799) | 評論 (0)編輯 收藏

    主站蜘蛛池模板: 国产免费AV片在线播放唯爱网| 国产偷伦视频免费观看| 黄色免费网站网址| 无码久久精品国产亚洲Av影片| a毛片全部播放免费视频完整18| 精品亚洲一区二区三区在线观看 | 四虎永久免费影院| 亚洲精品无码久久久久APP| 成人毛片免费观看视频| 亚洲熟女精品中文字幕| 女人张开腿等男人桶免费视频| 亚洲狠狠成人综合网| 国产麻豆剧传媒精品国产免费 | 狠狠躁狠狠爱免费视频无码| 免费jjzz在线播放国产| 亚欧乱色国产精品免费视频| 亚洲国产精品VA在线看黑人| 一个人免费日韩不卡视频| 亚洲欧洲日韩在线电影| 成年女人免费视频播放体验区| 亚洲国产精华液2020| 亚洲精品专区在线观看| 国产真人无码作爱视频免费| 久久亚洲中文字幕精品有坂深雪 | 成人毛片18女人毛片免费视频未| 亚洲国产精品网站在线播放| 无码专区一va亚洲v专区在线| 中国人免费观看高清在线观看二区 | 国产福利在线观看永久免费| 亚洲第一AAAAA片| 最近免费中文字幕大全高清大全1| 亚洲国产成人99精品激情在线| 四虎影视永久免费观看| 成在线人视频免费视频| 亚洲性色成人av天堂| 国产a级特黄的片子视频免费| 国内精品免费久久影院| 亚洲伊人久久大香线焦| 四虎永久免费观看| 久久99国产乱子伦精品免费| 相泽南亚洲一区二区在线播放|