??xml version="1.0" encoding="utf-8" standalone="yes"?>
Oracle JDeveloper Ҏ文档 用户通过 JDeveloper IDE 能够使用q程调试器来q程调试部v?WebLogic Server 的应用程序。在本方法文档中Q我们将CZ如何?Java EE 应用E序 EJB 3.0 Session Facade 部v?WebLogic Server q在 JDeveloper 内进行调试?br /> 在本Ҏ文档中,我们向您介l如何在 JDeveloper 内创建到 WebLogic 服务器的q接、将 WebLogic 服务器设|ؓ调试模式、在 JDeveloper 中打开提供的项目、将目部v?WebLogic 服务器、设|项目以执行q程调试以及如何q行q程调试会话。JDeveloper Java EE CZ应用E序可从 OTN 下蝲。您q将需?JDeveloperQ可?OTN 获得Q和 WebLogic ServerQ也可从 Oracle 获得Q?/p>
注:当您执行?JDeveloper ?WebLogic 的部|时Q请保 HTTP Tunneling 属性已启用。在 WebLogic 控制CQ在 Servers > ServerName > Protocols >HTTP 下,选中 HTTP Tunneling 的复选框。(ServerName 指您?WebLogic 服务器的名称Q?/p>
要让 JDeveloper ?WebLogic 配合工作Q它需要一?weblogic.jar 文g的副本。该文g可在 [WLS 根目录]\weblogic1001\server\lib 扑ֈ。将该文件复制到 [jdev 根目录]\jdev\lib\ext 目录q新启?JDeveloper? 建立q接后,您将能够直接执行?JDeveloper ?WebLogic 服务器的部v? 要让 JDeveloper 调试器可以调试部|到 WebLogic Server 的应用程序,服务器必M调试模式启动。WebLogic Server 调试Z Java q_调试器体pȝ?(JPDA)。注Q我们用域 wl_server 来部|和调试提供的应用程序?/p>
要以调试模式启动 WebLogic ServerQ您需要修?<WLS 根目?gt;\wlserver_10.0\samples\domains\wl_server 目录中的 startWebLogic.cmd 脚本?lt;WLS 根目?gt; ?WebLogic 10.0.1 的安装目录?/p>
?startWebLogic.cmd 脚本中,使用以下命o指定 JAVA OPTIONSQ?/p>
set JAVA_OPTIONS=-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=4000,server=y,suspend=n -XDebug 参数启用调试?Xnoagent 参数用默认?sun.tools.debug 调试代理?Xrunjdwp 参数加蝲 JDWP ?JPDA 参考实施。调试在端口 4000 上启用。JDWP 协议是通过q程调试器进行调试时所用的协议?/p>
调用 startWebLogic.cmd 脚本以启?WebLogic Server?/p>
如果您尚未下载提供的CZ应用E序Q请立即下蝲q将其解压羃到您常用的工作目录。解压羃后,您可以通过D到应用程序解压羃到的目录、在 JDeveloper 中打开 WebLogicApp.jws 工作Z打开该项目?/p>
默认情况下,q程调试器在 JDeveloper 中没有启用,因此Q单d键选择相应的应用程序项?WLSEJBQƈ从上下文菜单中选择“Project Properties”。从“Project Properties”中选择“Run/Debug”,qؓ“Default Run Configurations”选择“Edit”?/p>
在“Edit Run Configuration”中Qؓ“Launch Settings”选中“Remote Debugging and Profiling”复选框?/p>
在“Edit Run Configuration”中Q选择“Debugger”配|选项中的“Remote”选项q将协议讄为“Attach to JPDA”?/p>
既然 WebLogic 服务器已准备qAQ现在可以部|应用程序了。展开 WLSEJB 目->Resources。找?ejb1.deploy 文gq右键单dQ选择 deploy to->您先前创建的 WebLogic 服务器。这启动一个部|流E,您可以通过 JDeveloper 日志H口q行跟踪?/p>
右键单击 ejb1.deploy 配置文gq从上下文菜单中选择“Deploy to?>您先前创建的 WebLogic 服务器,?EJB 3.0 会话 Bean 部v?WebLogic 服务器。这用您创徏的应用服务器q接您的应用程序部|到 WebLogic 服务器?/p>
应用E序的成功部|应cM上图?/p>
您必d保 Session Facade 客户端已具备了您的环境所要求的证书,然后才能试部v的应用程序。验证您?WebLogic Server 的以下内容设|得当?/p>
(Context.SECURITY_PRINCIPAL,"<WebLogic Server 理用户 ID>") 现在Q您可以通过右键单击 WLSSessionFacadeClient q从上下文菜单中选择“Run”来试成功部v的应用程序。根据部|的 EJB 会话 Bean q行客户端的l果如下所C:
q行 WLSSessionFacadeClient 的结果。调?getAppServer1() q回“WebLogic Server 10.0.1 JDeveloper 10.1.3.3 Integration”。调?getAppServer2() q回“Session EJB 3.0”?/p>
要调试我们部|到 WebLogic 服务器的会话 EJBQ您需要在 WLSessionFacadeBean 中设|一个断炏V?/p>
断点讄?getAppServer1() Ҏ的返回g?/p>
现在Q我们必d动远E调试器。右键单?WLSSessionFacadeBean q择“Start Remote Debugger”?/p>
选择应用程序部|到的主Z及相应的端口?/p>
注意Q断点已被激zR?/p>
右键单击 Session Facade 客户端ƈ从上下文菜单中选择 Run 调试会话 EJB?/p>
注意它进入会?Bean q停止于 getAppServer1() Ҏ内的q回倹{?/p>
选择 Data 选项卡,查看当前数据?/p>
您还可以?Smart Data 选项卡中查看该实例的其他数据?/p>
您可以按照我们在该方法文档中所做的q入q出断Ҏ恢复程?/p>
恢复程Q得C未启用调试相同的l果?/p>
要停止调试会话,单击U色方块图标q择 detach 断开 JDeveloper ?WebLogic Server 的连接?br />
]]>
2、项目中src目录加入 META-INF文g?如果你不是直接在war中加入该文g夹,例如Q在eclipse中项目的src加入该文件夹Q则需要让该文件夹包含文gQQ意一个文仉可以Q这样export war的时候才会export meta-inf文g夹,才会有效果?
3、配|struts.xml加入如下属性: <constant name="struts.convention.action.fileProtocols" value="jar,zip" />
<constant name="struts.convention.action.includeJars" value=".*?/_wl_cls_gen.*?jar(!/)?" />
问题解决!
]]>
]]>
]]>
]]>
import
net.sf.json.JSONArray;
import
net.sf.json.JSONSerializer;
import
net.sf.json.JsonConfig;
JSONArray jsonArray
=
JSONArray.fromObject(request.getParameter(
"
json
"
));
JsonConfig jsonConfig
=
new
JsonConfig();
jsonConfig.setArrayMode( JsonConfig.MODE_OBJECT_ARRAY );
jsonConfig.setRootClass(User.
class
);
User[] users
=
(User[]) JSONSerializer.toJava( jsonArray, jsonConfig );
]]>
]]>
]]>
作者:Juan Camilo Ruiz ?Dana SingleterryQOracle
2008 q?7 ?/b>
?/h2>
?JDeveloper 中创Z个到 WebLogic Server 的应用服务器q接
现在Q我们创Z个从 JDeveloper 到您?WebLogic 服务器的应用服务器连接。从 View 菜单中,选择 Connection Navigator。右键单?Application Server 节点q择 New Application Server Connection。按照对话框中的说明建立q测试到您的 WebLogic 服务器的q接??WebLogic Server 上启用调?/h2>
?JDeveloper 中打开提供?Java EE 目q启用该目以进行远E调?/h2>
?EJB 3.0 应用E序部v?WebLogic Server q进行测?/h2>
(Context.SECURITY_CREDENTIALS, "<WebLogic Server 理口o>")
(Context.PROVIDER_URL, "t3://<您的?端口>")
q行q程调试会话
]]>BEA公司的TUXEDOQWEBLOGIC作ؓ最优秀的中间g产品,在银行、电信、金融等行业q泛使用Q通常采用TUXEDO实现pȝ的核心业务,?WEBLOGIC做ؓpȝ扩展到INTERNET的^収ͼ实现电子商务Q由WEBLOGIC调用TUXEDO上的服务Q所以TUXEDO?WEBLOGIC之间的互q经帔R到?/span>
下面通过一个例子介lTUXEDO与WEBLOGIC通过WTCq行q接的配|方法?
WEBLOGIC与TUXEDO的互q有两中方式Q通过JOLT或通过WTC(WEBLOGIC TUXEDO CONNECTOR)。它们都是BEA的品,WTC不仅能让WEBLOGIC调用TUXEDO中的SERVICEQ而且能让TUXEDO调用 WEBLOGIC中的EJB;而JOLT只能让WEBLOGIC调用TUXEDO. 但JOLT可以使TUXEDO与WEBSPERE{其他应用服务器相连Q而WTC只能用于WEBLOGIC与TUXEDO之间q行互连?
一、WTC说明
(1)WEBLOIGIC5.1无法通过WTC与TUXEDOq接.
(2)WEBLOGIC6.0与TUXEDOq接?要安装WTC软g?
(3)WTC已集成在在EBLOGIC6.1?只要配置一下就可以?不用单独安装WTC软g?
(4)目前WTC只支持TUXEDO6.5,TUXEDO8.0两个版本,不支持TUXEDO7.1版本.
(5)目前WTC有两个版? Windows版本支持2000/NT,UNIX为统一版本.
(6)WTC可从http://commerce.bea.com/downloads/tuxedo.jsp下蝲,目前的版本ؓ1.0.
二、WTC安装q程
(1) WEBLOGIC与TUXEDO必须先安装好.
(2)WTC要求在JAVA环境下安装,可在命o行下Q运行weblogicȝ录下config/EXAMPLE/setEnv.sh(NT/2000下ؓsetenv.cmd)配置JAVA环境
(3)在DOS命o行下执行安装E序WTC_10_win.exe。按提示操作可?
注意:如果在WINDOW下安装,到COPY文g那一步时Q不会执行,但提C安装成功,实际是假的。所以应在DOS命o行下安装.
三、WTC配置说明
TUXEDO与WEBLOGIC之间通过DOMAIN方式实现互相调用Q在q个例子中有两个DOMAINQTUXEDO 所在的DOMAIN名ؓTDOM1Q?WEBLOGIC所在的 DOMAIN名ؓTDOM2。TDOM1上有TOUPPER它是一个TUXEDO SERVEICEQTDOM2上有TOLOWER它是一个EJBQ?
下面以WTC安装带的例子simpapp(在WTC安装目录的examples/wtc/atmi/simpapp?说明配置q程:
TUXEO版本: TUXEDO65
WEBLOGIC版本: WEBLOGIC6.0
TUXEO安装目录: D:\TUXEDO65
WEBLOGIC安装目录: D:\WEBLOGIC
操作pȝ: WIN2000
例子目录: D:\SIMPAPP(把WTC安装目录的examples/wtc/atmi/simpapp目录COPY到D:\SIMPAPP)
服务器名: DEMOSERVER
WTC安装目录: D:\WEBLOGIC\WTC1.0
四、TUXEDO要做的配|?/span>
(1)修改D:\SIMPAPP\SETENV.CMD?
set TUXDIR=d:\tuxedo65
set WSNADDR=//DEMOSERVER:8888
set APPDIR=d:\simpapp
set PATH=%TUXDIR%\bin;%APPDIR%;%PATH%
set TUXCONFIG=%APPDIR%\tuxconfig
set BDMCONFIG=%APPDIR%/dbmconfig
(2)修改D:\SIMPAPP\UBBDOMAIN?
*RESOURCES
IPCKEY 123456
DOMAINID simpapp
MASTER simple
MAXACCESSERS 10
MAXSERVERS 5
MAXSERVICES 10
MODEL SHM
LDBAL N
*MACHINES
DEMOSERVER LMID=simple
APPDIR="d:\simpapp"
TUXCONFIG="d:\simpapp\tuxconfig"
TUXDIR="d:\tuxedo65"
*GROUPS
GROUP1
LMID=simple GRPNO=1 OPENINFO=NONE
*SERVERS
DEFAULT:
CLOPT="-A"
simpserv SRVGRP=GROUP1 SRVID=1
*SERVICES
TOUPPER
(3)修改D:\SIMPAPP\DOM1CONFIG:
修改dom1configQ加入TLOG的\径和AUDITLOG的\径。然后修改TDOM1的NWADDR="IP:PORT"为TUXEDO的IP和端口,TDOM2?
NWADDR="IP:PORT"为WEBLOGIC的IP和端口?
*DM_RESOURCES
VERSION=U22
*DM_LOCAL_DOMAINS
TDOM1 GWGRP=GROUP2
TYPE=TDOMAIN
DOMAINID="TDOM1"
BLOCKTIME=20
MAXDATALEN=56
MAXRDOM=89
TLOG="d:\simpapp\TLOG"
AUDITLOG="d:\simpapp\AUDITLOG"
*DM_REMOTE_DOMAINS
TDOM2 TYPE=TDOMAIN
DOMAINID="TDOM2"
*DM_TDOMAIN
TDOM1 NWADDR="http://DEMOSERVER:9998"
TDOM2 NWADDR="http://DEMOSERVER:9999"
*DM_REMOTE_SERVICES
TOLOWER RDOM="TDOM2"
(4) tmloadcf -y ubbdomain
(5) mloadcf -y dom1config
(6)buildserver -o simpserv -f simpserv.c -s TOUPPER
(7)examples/wtc/atmi/simpapp/simpserv下的tolower.c 拯到D:\SIMPAPPQƈ执行buildclinet -v -f tolower.c -o tolower
五、WEBLOGIC要做的配|?/span>
(1)修改weblogic目录下config/examples/setExamplesEnv.cmd及startExamplesServer.cmd,在CLASSPATH中加入:
d:\weblogic\wtc1.0\lib/jatmi.jar。执行setExamplesEnv.cmd
(2)修改bdmconfig.xml
修改<!DOCTYPE>中的:[WTC installation directory]\weblogic\wtc\gwt\wtc_config_1_0.dtd(WLS60)
修改TDOM1和TDOM2的NWADDR和TUXEDO中的dom1config中的一?
如果tuxedo?.5版本则在<T_DM_LOCAL_TDOMAIN AccessPoint="TDOM2">中加?lt;Interoperate>Yes</Interoperate>如果为TUXEOD8.0则不需要?
(3)修改后的bdmconfig.xml内容如下Q?
<?xml version="1.0"?>
<!DOCTYPE BDMCONFIG SYSTEM "file:D:\weblogic\wtc1.0\weblogic\wtc\gwt\wtc_config_1_0.dtd">
<!--Java and XML-->
<WTC_CONFIG>
<BDMCONFIG>
<T_DM_LOCAL_TDOMAIN AccessPoint="TDOM2">
<WlsClusterName>Coolio</WlsClusterName>
<AccessPointId>TDOM2</AccessPointId>
<Type>TDOMAIN</Type>
<Security>NONE</Security>
<ConnectionPolicy>ON_DEMAND</ConnectionPolicy>
<BlockTime>30</BlockTime>
<NWAddr>//DEMOSERVER:9999</NWAddr>
<!-- Example address: //mydomain.acme.com:9999 -->
<Interoperate>Yes</Interoperate>
</T_DM_LOCAL_TDOMAIN>
<T_DM_REMOTE_TDOMAIN AccessPoint="TDOM1">
<LocalAccessPoint>TDOM2</LocalAccessPoint>
<AccessPointId>TDOM1</AccessPointId>
<Type>TDOMAIN</Type>
<NWAddr>//DEMOSERVER:9998</NWAddr>
<!-- Example address: //mydomain.acme.com:9998 -->
</T_DM_REMOTE_TDOMAIN>
<T_DM_EXPORT ResourceName="TOLOWER"
LocalAccessPoint="TDOM2">
<EJBName>tuxedo.services.TOLOWERHome</EJBName>
</T_DM_EXPORT>
<T_DM_IMPORT
ResourceName="TOUPPER"
LocalAccessPoint="TDOM2"
RemoteAccessPointList="TDOM1">
<TranTime>600</TranTime>
</T_DM_IMPORT>
</BDMCONFIG>
</WTC_CONFIG>
(4)执行java weblogic.wtc.gwt.WTCValidateCF bdmconfig.xml监测xml是否正确?
(5)在D:\SIMPAPP下执行build命o,然后在D:\weblogic\wtc1.0\examples\simpserv下执行build命o
(6)启动welogic
(7)察看wtc_tolower.jar、wtc_toupper.jar是否deploy成功
(8)建立一个WEBLOGIC StartUp Class:
classname?weblogic.wtc.gwt.WTCStartup 参数为BDMCONFIG=D:\SIMPAPP\bdmconfig.xml,q设|其TARGET为EXAMPLESERVER
(9)建立一个WEBLOGIC ShutDown Class:
classname为weblogic.wtc.gwt.WTCShutdown,q设|其TARGET为EXAMPLESERVER
(10)重新启动weblogic,q注意WEBLOGIC的启动日志看StartUp Class启动q程是否成功,p|会报?成功没有提示信息
如果p|没有查config.xml中是否ؓ
<StartupClass Arguments="BDMCONFIG=d:\wtc_load4\examples\simpapp\bdmconfig.xml" ClassName="weblogic.wtc1.0.gwt.WTCStartup" FailureIsFatal="false" Name="MyWTCStartup Class" Targets="myserver"/>
<ShutdownClass Arguments="" ClassName="weblogic.wtc1.0.gwt.WTCShutdown" Name="MyWTCShutdown Class"/>
六、启动tuxedo
七、运行例?/span>
在d:/simpapp下执行run.cmd,q是WEBLOGIC 做CLIENT端调用Toupper ejbQ由Toupper ejb调用TUXEDO的SERVICEQTOUPPER
在d:/simpapp下执行run.cmdQ这是TUXEDO做CLIENT端调用WEBLOGIC中的Tolower ejbQ?
八、如果是WEBLOGIC6.1
TUXEDO的配|不?
WEBLOGIC中从(2)开始配|?其中:DMCONFIG.XML中的,因ؓWEBLOGIC6.1中找不到wtc_config_1_0.dtd,可从WEBLOGIC6.1拯一个到WEBLOGIC6.1的安装目录下:
如D:\WEBLOGIC6.1,q在DMCONFIG.XML指定它的路径
<!DOCTYPE BDMCONFIG SYSTEM "file:D:\weblogic6.1\wtc_config_1_0.dtd">
九、失败处?/span>
如果p|,可设|weblogic.wtc.gwt.WTCStartup的跟t选项Q即把它的参数设|ؓQ?BDMCONFIG=D:\simpapp\bdmconfig.xml,TraceLevel=20000
q请查看WEBLOGIC,TUXEDO的日?做相应的处理?br />
转自: http://beckdim.javaeye.com/blog/280904
]]>