|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
前些天,在CSDN上看到了一个消息,说是net网页编程网页编程AJAX成功在Linux上运行,这一点对我触动很大,而且引发了我许多感叹,所以想写出来分享一下。 1.JBoss使用服务器的近况及瞻望
最近几年来,在J2EE使用服务器范畴,JBoss是开展最为敏捷的使用服务器。因为JBoss遵守贸易友爱的LGPL受权分发,而且由开源社区开辟,这使得JBoss广为盛行。别的,JBoss使用服务器还具有很多优异的特质。其一,它将具有反动性的JMX微内核服务作为其总线布局;其二,它自己就是面向服务的架构(Service-OrientedArchitecture,SOA);其三,它还具有一致的类装载器,从而可以完成使用的热部署和热卸载才能。因而,它是高度模块化的和松耦合的。JBoss用户的主动反应告知我们,JBoss使用服务器是强健的、高质量的,并且还具有优秀的功能。
为满意企业级市场日趋增加的需求,JBoss公司从2003年入手下手就推出了24*7、专业级产物撑持服务。同时,为拓展JBoss的企业级市场,JBoss公司还签定了很多渠道互助同伴。好比,JBoss公司同HP、Novell、ComputerAssociates、Unisys等都是互助同伴。
在2004年6月,JBoss公司公布,JBoss使用服务器经由过程了Sun公司的J2EE认证。这是JBoss使用服务器开展史上至今为止最主要的里程碑。与此同时,JBoss一向在紧跟最新的J2EE标准,并且在某些手艺范畴引领J2EE标准的开辟。因而,不管在贸易范畴,仍是在开源社区,JBoss成了第一个经由过程J2EE1.4认证的支流使用服务器。如今,JBoss使用服务器已真正开展成具有企业强度(即,撑持关头级义务的使用)的使用服务器。
JBoss4.0作为J2EE认证的主要功效之一,已于2004年9月顺遂公布了。同时,JBoss4.0还供应了JBossAOP(Aspect-OrientedProgramming,面向方面编程)组件。最近,AOP吸引了大批开辟者的存眷。它供应的新的编程形式使得用户可以将方面(好比,事件)从底层营业逻辑平分离出来,从而可以延长软件开辟周期。用户可以独自利用JBossAOP,即可以在JBoss使用服务器内部利用它。大概,用户也能够在使用服务器情况中利用它。JBossAOP1.0已在2004年10月公布了。
瞻望下一代JBoss使用服务器,其重点存眷的是EJB3.0。以后,J2EE1.4标准利用了EJB2.1。个中,EJB3.0的次要方针是简化EJB模子,即用户可以更简单开辟EJB组件,而且可以在EJB容器内部测试EJB组件。EJB3.0标准草案已于2004年6月推出。JBoss公司一向在主动介入EJB3.0标准的制订,而且在为EJB标准的开展奉献本人的力气。个中,GavinKing(Hibernate的创建者)和BillBurke(JBoss公司的首席架构师)已为EJB3.0标准草案奉献了良多内容。
JBoss公司于2004年10月初公布了基于JBoss使用服务器完成的EJB3.0预览版。只管EJB3.0标准草案还处于早期开展和评审阶段,但这为J2EE社区测试EJB3.0、并供应反应信息供应了很好的时机。这也证明了JBoss是一家立异型公司。JBoss一向在引领手艺标准的开展。
最近几年来,Hibernate已成了现实上的耐久化引擎。JBoss公司努力于将本身开展成为开源项目标社区,好比招募GavinKing和很多Hibernate开辟者。个中,最新版的JBoss使用服务器已将Hibernate集成为JMXMBean服务。这使得用户可以在使用服务器情况中间接利用Hibernate,而不论它是不是处于J2EE高低文中。
从2003年入手下手,JBoss启动了JBossCache项目。JBossCache是基于内存的、可复制的、事件性的缓存体系,而且具有耐久化形态存储办理才能。比来,它遭到极年夜的存眷。用户可以在JBoss使用服务器或其他使用服务器中,或独自利用JBossCache。同时,它供应的基于JBossAOP的AOP模块可以在可复制情况中完成细粒度、域级别复制,并且可以通明地办理庞大对象。在最新版的JBoss使用服务器中,用户可以间接经由过程JMXMBean服务会见到JBossCache供应的服务。
下一代的JBoss使用服务器(暂命名为,JBoss5.0)将供应大批的新功效。除撑持最新的EJB3.0标准外,新版的JBossAOP将同它正式公布。同时,JBoss开辟团队还企图开辟新的微内核层,即自力于JMX,使得它可以自力利用。别的,有关JBoss使用服务器的架构和开辟,开辟者能够参考由ScottStark博士著的《JBossAdministrationandDevelopment3.2.xThirdEdition》一书(此书已由电子产业出书社引进并翻译出书,中文版书名为《JBoss办理和开辟中心手艺(第三版)》)。ScottStark博士是JBoss公司的开创人之一,他一向在向导JBoss产物的研发。该书内容涵盖了JBoss使用服务器的各个方面,好比JMX微内核、客户端和服务器端拦阻器和J2EE平台服务的完成等外容。假如开辟者对JBoss内核和开辟基于JBoss/J2EE的使用感乐趣,则最好可以浏览这本威望著作。
2.JBOSS的获得
JBOSS的官方网站是www.jboss.com,在http://www.jboss.com/downloads/index 能够下载到JBoss的各类版本,另有和ECLIPSE,JBUILDER等IDE集成的插件。我所下载的是ZIP版本的jboss-3.2.7.tar.gz。
固然,JBOSS的运转必要JDK的撑持,并且版本欠亨,响应对JDK的请求也分歧,JDK的下载地点是http://java.sun.com/
3.JBoss的启动和办理
jboss-3.2.7.tar.gz解开紧缩以后,在(WindowsXP)体系-属性-初级-情况变量里,增加JBOSS_HOME,指向所解压开来的目次。并把JBOSS_HOME下bin目次增加到体系Path情况变量里,如许便利在入手下手菜单运转里,敲进run.bat就能够启动JBOSS了。
也能够在JBOSS目次下bin目次里,双击run.bat文件,就能够启动JBOSS了。假如没有看到甚么非常,启动信息以下:
==============================================================================
.
JBossBootstrapEnvironment
.
JBOSS_HOME:D:javatooljboss-3.2.7in..
.
JAVA:D:javatooljdk1.5.0_06injava
.
JAVA_OPTS:-Dprogram.name=run.bat
.
CLASSPATH:D:javatooljdk1.5.0_06lib ools.jar;D:javatooljboss-3.2.7in
run.jar
.
===============================================================================
.
16:47:58,953INFO[Server]StartingJBoss(MXMicroKernel)...
16:47:58,953INFO[Server]ReleaseID:JBoss[WonderLand]3.2.7(build:CVSTag=
JBoss_3_2_7date=200501280217)
16:47:58,968INFO[Server]HomeDir:D:javatooljboss-3.2.7
16:47:58,968INFO[Server]HomeURL:file:/D:/javatool/jboss-3.2.7/
16:47:58,968INFO[Server]LibraryURL:file:/D:/javatool/jboss-3.2.7/lib/
16:47:58,968INFO[Server]PatchURL:null
16:47:58,968INFO[Server]ServerName:default
16:47:58,968INFO[Server]ServerHomeDir:D:javatooljboss-3.2.7serverdefa
ult
16:47:58,968INFO[Server]ServerHomeURL:file:/D:/javatool/jboss-3.2.7/serve
r/default/
16:47:58,968INFO[Server]ServerDataDir:D:javatooljboss-3.2.7serverdefa
ultdata
16:47:58,968INFO[Server]ServerTempDir:D:javatooljboss-3.2.7serverdefa
ult mp
16:47:58,968INFO[Server]ServerConfigURL:file:/D:/javatool/jboss-3.2.7/ser
ver/default/conf/
16:47:58,968INFO[Server]ServerLibraryURL:file:/D:/javatool/jboss-3.2.7/se
rver/default/lib/
16:47:58,968INFO[Server]RootDeploymentFilename:jboss-service.xml
16:47:58,968INFO[Server]StartingGeneralPurposeArchitecture(GPA)...
16:47:59,312INFO[ServerInfo]Javaversion:1.5.0_06,SunMicrosystemsInc.
16:47:59,312INFO[ServerInfo]JavaVM:JavaHotSpot(TM)ClientVM1.5.0_06-b05
,SunMicrosystemsInc.
16:47:59,312INFO[ServerInfo]OS-System:WindowsXP5.1,x86
16:47:59,625INFO[Server]Coresysteminitialized
16:48:04,281INFO[Log4jService$URLWatchTimerTask]ConfiguringfromURL:resour
ce:log4j.xml
16:48:04,890INFO[WebService]UsingRMIservercodebase:http://YXB:8083/
16:48:06,203INFO[NamingService]StartedjndibootstrapjnpPort=1099,rmiPort=
1098,backlog=50,bindAddress=/0.0.0.0,ClientSocketFactory=null,ServerSocket
Factory=org.jboss.net.sockets.DefaultSocketFactory@ad093076
16:48:10,828INFO[Embedded]Catalinanamingdisabled
16:48:11,890INFO[Http11Protocol]InitializingCoyoteHTTP/1.1onhttp-0.0.0.0
-8080
16:48:11,937INFO[Catalina]Initializationprocessedin1016ms
16:48:11,937INFO[StandardService]Startingservicejboss.web
16:48:11,937INFO[StandardEngine]StartingServletEngine:ApacheTomcat/5.0.3
0
16:48:11,968INFO[StandardHost]XMLvalidationdisabled
16:48:12,000INFO[Catalina]Serverstartupin63ms
16:48:12,187INFO[TomcatDeployer]deploy,ctxPath=/invoker,warUrl=file:/D:/ja
vatool/jboss-3.2.7/server/default/deploy/http-invoker.sar/invoker.war/
16:48:14,562INFO[TomcatDeployer]deploy,ctxPath=/,warUrl=file:/D:/javatool/
jboss-3.2.7/server/default/deploy/jbossweb-tomcat50.sar/ROOT.war/
16:48:14,968INFO[TomcatDeployer]deploy,ctxPath=/jbossmq-httpil,warUrl=file
:/D:/javatool/jboss-3.2.7/server/default/deploy/jms/jbossmq-httpil.sar/jbossmq-h
ttpil.war/
16:48:16,921INFO[RARMetaData]LoadingJBossResourceAdapterforJDBC2XAdr
ivers
16:48:16,937INFO[RARMetaData]Requiredlicensetermspresent.Seedeployment
descriptor.
16:48:23,031INFO[MailService]MailServiceboundtojava:/Mail
16:48:23,796INFO[DefaultDS]Boundconnectionfactoryforresourceadapterfor
ConnectionManager"jboss.jca:service=LocalTxCM,name=DefaultDStoJNDIname"jav
a:/DefaultDS"
16:48:24,781INFO[A]BoundtoJNDIname:queue/A
16:48:24,781INFO[B]BoundtoJNDIname:queue/B
16:48:24,781INFO[C]BoundtoJNDIname:queue/C
16:48:24,796INFO[D]BoundtoJNDIname:queue/D
16:48:24,796INFO[ex]BoundtoJNDIname:queue/ex
16:48:24,828INFO[testTopic]BoundtoJNDIname:topic/testTopic
16:48:24,828INFO[securedTopic]BoundtoJNDIname:topic/securedTopic
16:48:24,828INFO[testDurableTopic]BoundtoJNDIname:topic/testDurableTopic
16:48:24,843INFO[testQueue]BoundtoJNDIname:queue/testQueue
16:48:24,937INFO[UILServerILService]JBossMQUILserviceavailableat:/0.0.
0.0:8093
16:48:25,312INFO[DLQ]BoundtoJNDIname:queue/DLQ
16:48:25,500INFO[JmsXA]BoundconnectionfactoryforresourceadapterforCon
nectionManager"jboss.jca:service=TxCM,name=JmsXAtoJNDIname"java:/JmsXA"
16:48:25,500INFO[socialDs]Boundconnectionfactoryforresourceadapterfor
ConnectionManager"jboss.jca:service=LocalTxCM,name=socialDstoJNDIname"java:
/socialDs"
16:48:27,625INFO[TomcatDeployer]deploy,ctxPath=/jmx-console,warUrl=file:/D
:/javatool/jboss-3.2.7/server/default/deploy/jmx-console.war/
16:48:27,906INFO[TomcatDeployer]deploy,ctxPath=/web-console,warUrl=file:/D
:/javatool/jboss-3.2.7/server/default/deploy/management/web-console.war/
16:48:28,968INFO[TomcatDeployer]deploy,ctxPath=/oracle-test,warUrl=file:/D
:/javatool/jboss-3.2.7/server/default/deploy/oracle-test.war/
16:48:32,203INFO[TomcatDeployer]deploy,ctxPath=/wapweb,warUrl=file:/D:/jav
atool/jboss-3.2.7/server/default/tmp/deploy/tmp38022wapweb.war/
16:48:33,031INFO[Http11Protocol]StartingCoyoteHTTP/1.1onhttp-0.0.0.0-808
0
16:48:33,359INFO[ChannelSocket]JK2:ajp13listeningon/0.0.0.0:8009
16:48:33,531INFO[JkMain]JkrunningID=0time=0/375config=null
16:48:33,578INFO[Server]JBoss(MXMicroKernel)[3.2.7(build:CVSTag=JBoss_3
_2_7date=200501280217)]Startedin34s:16ms
这就暗示JBOSS已启动乐成了,默许的端口是8080。你就能够在IE扫瞄栏里输出http://localhost:8080/,假如能看到JBOSS的接待画面,如许JBOSS就乐成安装了。
JBossOnlineResources
GettingstartedwithJBoss3.2[PDF]
JBossWiki
JBossforums
JBossManagement
Tomcatstatus(full)(XML)
JMXConsole
JBossWebConsole
接待画面如上,你能够选择链接进进,并对JBOSS相干设置举行办理。值得申明的是,JBOSS集成了TOMCAT。
4.JBoss的复杂使用
在此列一个在JBOSS内里毗连Oracle的例子。
起首进进JBOSS安装目次下,D:javatooljboss-3.2.7serverdefaultdeploy;文件hsqldb-ds.xml是设置数据库链接的属性文件,你能够复制hsqldb-ds.xml然后改名为oracle-ds.xml,文件内容修正以下:
<xmlversion="1.0"encoding="gb2312">
<!--=====================================================================-->
<!---->
<!--JBossServerConfiguration-->
<!---->
<!--=====================================================================-->
<!--$Id:oracle-ds.xml,v1.1.2.42003/09/1703:46:01ejortExp$-->
<!--====================================================================-->
<!--DatasourceconfigforOracleoriginallyfromStevenCoy-->
<!--====================================================================-->
<datasources>
<local-tx-datasource>
<jndi-name>socialDs</jndi-name>
<!--<connection-url>jdbc:oracle:thin:@192.168.1.230:1521:ora9</connection-url>-->
<connection-url>jdbc:oracle:thin:@202.103.67.175:5012:newwapdb</connection-url>
<!--
HereareacoupleofthepossibleOCIconfigurations.
Formoreinformation,seehttp://otn.oracle.com/docs/products/oracle9i/doc_library/release2/java.920/a96654/toc.htm
<connection-url>jdbc:oracle:oci:@youroracle-tns-name</connection-url>
or
<connection-url>jdbc:oracle:oci:@(description=(address=(host=youroraclehost)(protocol=tcp)(port=1521))(connect_data=(SERVICE_NAME=yourservicename)))</connection-url>
Clearly,itsbettertohaveTNSsetupproperly.
-->
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
<user-name>wapwork</user-name>
<password>wapmanager</password>
<!--UsesthepingDatabasemethodtocheckaconnectionisstillvalidbeforehandingitoutfromthepool-->
<!--valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleValidConnectionChecker</valid-connection-checker-class-name-->
<!--CheckstheOracleerrorcodesandmessagesforfatalerrors-->
<exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>
<!--sqltocallwhenconnectioniscreated
<new-connection-sql>somearbitrarysql</new-connection-sql>
-->
<!--sqltocallonanexistingpooledconnectionwhenitisobtainedfrompool-theOracleValidConnectionCheckerisprefered
<check-valid-connection-sql>somearbitrarysql</check-valid-connection-sql>
-->
</local-tx-datasource>
</datasources>
固然,你得修正一些顺应你数据库得一些设置,好比用户名啊,数据库地点啊。
然后在这个目次下创建一个oracle-test.war目次,注重目次的称号是以.war开头的,如许公布的时分会主动加载。
作为一个站点目次,这个目次里必要WEB-INF目次。内里的内容为空也行,也能够拷贝例子里的工具。在这个目次下创建一个index.jsp文件,内容以下:
<%@pagelanguage="java"contentType="text/html;charset=gb2312"pageEncoding="GBK"%>
<%@pageimport="java.sql.*,javax.sql.DataSource,javax.naming.InitialContext"%>
<h3>TestOracleDB</h3>
<%
InitialContextctx=newInitialContext();
DataSourceds=(DataSource)ctx.lookup("java:/socialDs";//注重这里哦和后面oracle-ds.xml对应
Connectionconn=ds.getConnection();
Statementstmt=conn.createStatement();
ResultSetrs=stmt.executeQuery("SELECTcount(*)FROMBOOK";
while(rs.next(){
out.println(rs.getInt(1)+"<br>";
out.println("MynameisAhpo<br>";
}
conn.close();
%>
然后启动Jboss在扫瞄器里输出http://localhost:8080/oracle-test 就能够显现数据库毗连的了局。
其实产生见解的过程就是训练自己发现问题,分析问题的能力。根据以上的认识我想谈下传统的学习与通过视频独立学习的优缺点: |
|