您的位置:首页 > 其它

JaveEE服务器基础知识总结

2014-04-04 11:15 225 查看
Websphere:
IBM旗下的声名卓著的javaEE服务器,性能和功能都十分强大,支持负载均衡,高性能HA,集群等。大型应用开发的首选服务器。

1. Websphere启动,停止命令:

进入你的profiles目录,自己起过的profile name(默认的default),里面有个bin 

大概是这样的 

/opt/IBM/WebSphere/AppServer/profiles/profiles_name/bin 

startServer.sh server_name (默认是server1)

stopServer.sh server_name

2.Websphere日志目录:

 

Log dir: /opt/WebSphere/AppServer/profiles/自己的profile(默认default)/logs/servername(默认server1)/SystemOut.log

3.Websphere应用程序部署目录:

Application dir:  /opt/WebSphere/AppServer/profiles/自己的profile(默认default)/installedApps/

 

4.Websphere控制台:
https://hostname:9043/ibm/console
5.通过控制台进行部署,移除,启动,停止应用程序等操作:

进入Webspshere控制台之后:Applications——>Enterprise Applications。。。

6.Websphere JNDI连接信息配置:

Context.INITIAL_CONTEXT_FACTORY=com.ibm.websphere.naming.WsnInitialContextFactory

Context.PROVIDER_URL=iiop://localhost:2809/

Glassfish:

Glassfish是Sun最新推出的javaEE应用服务器,以其超快的速度和强大的功能备受开发人员青睐。

1.启动glassfish server

asadmin start-domain domain1      // domain1安装文件steup.xml里domain.name

2. 测试是否正常启动:

在浏览器里输入:http://localhost:8080如果出现:Your glassfish enterprise server is runing now界面则安装成功

3.部署web应用

a.自动部署:

在weblogic下,我们通常将一个应用打包成一个war包,或者一个ear包进行部署,当然你一可以不进行打包,按一个符合Java EE规范的目录进行部署(通常这样是不建议的,仅仅在开发阶段可以这样的方式),在weblogic下,每个domain里都有autodeploy目录,该目录支持热部署,容许您直接将一个war包上传到该目录,当weblogic启动的时候,该应用会自动部署,galssfish也支持这样的功能,并且连目录方式都是一样的,我们来看一下glassfish下autodeploy的路径:

glassfish安装目录/glassfish/domains/domain1/autodeploy

b.Eclipse插件部署:

在Eclipse里自带了Glassfish的插件,在Eclipse部署时会自动将应用部署到:

GlassFish安装目录/glassfish/domains/domain1/eclipseApps/ 目录下。

4.启动和停止Glassfish:

GlassFish安装目录/glassfish/bin/目录下的startserv.bat,stopserv.bat就是windows下的启动和停止的脚步文件。

5.Glassfish的JNDI连接信息配置:

Context.INITIAL_CONTEXT_FACTORY=org.jnp.interfaces.NamingContextFactory  

Context.PROVIDER_URL=localhost:1099

JBoss:

著名的开源JavaEE服务器,后来被RedHat收购,最早支持EJB3.0规范。性能稳定,速度也较快,是中小企业的首选。

1.环境变量的设置:

右键点我的电脑,选"属性"-> 选"高级"选项卡 -> 点击"环境变量"按钮 -> 点击系统变量的"新建"按钮,然后在对话框中输入"变量名"为"JBOSS_HOME",变量值为JBOSS的解压路径。

2.启动停止JBOSS:

直接执行JBoss/bin目录下的run.bat批处理文件即可启动jboss.

执行JBoss/bin目录下的shutdown.bat批处理文件,不过要带一个参数"-S",注意是大写字母,即可停止Jboss服务器。

3. JBOSS文件的部署

JBoss支持热部署,也就是war、ear文件部署到服务器上后不需要重新启动JBoss(Tomcat不支持这种特性)。war文件的部署很简单,直接将war文件拷贝到JBoss/server/default/deploy目录下即可。

4.  JBoss的目录结构

    bin目录:改目录包含各种脚本文件以及相关文件,前面已经用过run.bat和shutdown.bat两个批处理文件。

    client目录:存储配置信息和可能被Java客户端应用程序或外部Web容器用到的jar文件。

    docs目录:保存在JBoss中引用到的XML文件和DTD文件(这里也提供了在JBoss中如何写配置文件的例子)。该目录下有针对不通的数据库(如MySql、Oracle、SQL Server、Postgres等)配置数据源的JCA配置文件。

     lib目录:这里存储运行JBoss微内核所需的jar文件。该目录下不要存储任何你自己的jar文件。

     server目录:这里的每一个子目录对应着一个服务器配置。该配置由运行脚本文件时的参数"-c <配置名称>"来确定。在server目录下有三个配置例子,即all、default和minimal,每一个配置安装的服务都不一样。其中default下是缺省配置。

      minimal目录:仅加载启动JBoss所需的最少服务,如日志服务、JNDI和URL部署扫描器(发现新的部署),不包含Web容器、EJB和JMS。

      all目录:启动所有的服务,包括RMI/IIOP、集群服务和Web服务部署器(默认配置不会被加载)。

启动JBoss时,如果run.bat不带任何参数,则使用的配置是server/default目录下的配置。如果要以其它目录下的配置启动JBoss,可以使用如下参数:

run  -c  all

上述命令将以all目录下的配置信息启动JBoss。也可以在server目录下新建目录,按自己的需要写配置文件。

下面以default目录为例,介绍服务器配置的目录结构。

      conf目录:该目录下有指定核心服务的jboss-service.xml文件,也可以放其它服务配置的文件。

      data目录:该目录是JBoss内置的数据库Hypersonic存储数据的地方,也是JBossMQ(the JBoss implementation of JMS)存储相关信息的地方。

      deploy目录:这是部署J2EE应用程序(jar、war和ear文件)的位置,只需将相应文件拷贝到该目录下即可。该目录也用来热部署服务和JCA资源适配器。已经有一些服务部署到这个目录了,如jmx-console,你启动JBoss后即可访问。JBoss会周期性的扫描deploy目录,当有任何组件改变,JBoss会重新部署该程序。

      lib目录:存放服务器配置所需的jar文件,比如,你可以将JDBC驱动程序放在该目录下。

      log目录:存放日志信息。JBoss使用Jakarta log4j包存储日志,在程序中你也可以直接使用该信息。

      tmp目录:存储在部署过程中解压时产生的临时文件。

      work目录:Tomcat编译JSP文件时的工作目录。

目录data、log、tmp和work在JBoss安装后并不存在,当JBoss运行时自动建立。

5. JBoss中和数据库的连接

这里所说的数据库连接是在JBoss中通过XML文件配置数据源,在程序中通过名字来访问数据库。从JBoss3.2.3之后的数据库连接配置比较简单,关于配置文件的书写在JBoss中针对不同的数据库有相应的例子,配置文件的例子在目录JBoss_HOME/docs/examples/jca下,如对MySql数据库的配置文件是mysql-ds.xml。只要针对数据库的具体情况修改该配置文件即可。修改完成之后,将配置文件拷贝到JBoss_HOME/server/default目录下。下面是一个设置MySql数据库为数据源的mysql-ds.xml配置文件的内容:

[xhtml]
view plaincopy

<?xml version="1.0" encoding="UTF-8"?>  
<datasources>  
  <local-tx-datasource>  
    <jndi-name>MySqlTest</jndi-name>  
    <connection-url>jdbc:mysql://127.0.0.1:3306/test</connection-url>  
    <driver-class>com.mysql.jdbc.Driver</driver-class>  
    <user-name>root</user-name>  
    <password></password>  
  </local-tx-datasource>  
</datasources>  

 
另外,连接数据库所用到的JDBC驱动程序要拷贝到JBoss_HOME/server/default/lib目录下。

6.Jboss控制台: http://localhost:8080/jmx-console

7.JBOSS的JNDI名生成规则:

命名规则如下:

1). 如果EJB 打包进后缀为*.ear 的J2EE 发布文件,默认的JNDI 路径名称是

访问本地接口:EAR-FILE-BASE-NAME/EJB-CLASS-NAME/local

访问远程接口:EAR-FILE-BASE-NAME/EJB-CLASS-NAME/remote

例:EJB HelloWorld 打包进名为HelloWorld.ear 的J2EE 应用,访问她远程接口的JNDI 名是:

HelloWorld/HelloWorldBean/remote

2). 如果EJB 应用打包成后缀为*.jar 的发布文件, 默认的JNDI 路径名称是

访问本地接口:EJB-CLASS-NAME/local

访问远程接口:EJB-CLASS-NAME/remote

例: HelloWorld 应用打包成HelloWorld.jar 文件,访问她远程接口的JNDI 名称是:HelloWorldBean/remote

另外有一点要注意:EJB-CLASS-NAME 是不带包名的,如com.foshanshop.ejb3.impl.HelloWorldBean 只需取

HelloWorldBean。

8.将JBOSS应用发布为外网IP:

JBOSS默认的应用发布IP是localhost,要想使用外网IP有如下两个办法:

1).JBoss/bin目录下的run.bat或run.sh加参数-b 0.0.0.0:可以监听全部地址。 

2). 等效与run.sh的参数-b的做法是:修改JBoss/server/default/deploy/jboss-web.deployer/server.xml,把Connector下面的address改成对应的IP或者0.0.0.0。 

9.JBOSS的JNDI连接信息配置:

java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory

java.naming.provider.url=localhost:1099  (服务器地址和端口号)

java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces

通过这个文件和JBoss的一些客户端类库,就可以使用JBoss提供的EJB对象服务了。

 

Weblogic:

和Websphere实力相当的大型JavaEE应用服务器,后来被Oracle公司收购。

1.weblogic的配置。

下载安装weblogic后对weblogic进行配置,首先这里有几个名词,Cluster,domain,server,如果第一次接触它,可能会有些不知所措。也许我们在网上能搜到它们的名词解释,但还是太抽像了,难以琢摸。

 好在weblogic有一个缺省的配置模板,Basic weblogic server domain.它能带领我们这些陌生人走出迷宫。

在此点next之后先择Express(默认选项)即可。之后是输入管理员名称及密码等等。在一路next之后,weblogic为我们创建了一个cluster(domains),下面有一个domain(mydomain),mydomain下面有application及myserver文件夹。application就是发布工程的文件夹,和tomcat的webapp包一样。至此我们应该对那几个麻烦的名词能逆向悟出一点了。

2.进一步配置weblogic的其他配置可以进入:http://localhost:7001/console进行。

也可以在/bea/user_projects/domains/mydomain下的config.xml里面配置如下:

[xhtml]
view plaincopy

<?xml version="1.0" encoding="UTF-8"?>  
<Domain ConfigurationVersion="8.1.2.0" Name="mydomain">  
    <Server ListenAddress="" ListenPort="7001" Name="myserver"  
        NativeIOEnabled="true" ReliableDeliveryPolicy="RMDefaultPolicy" ServerVersion="8.1.2.0">  
        <SSL Enabled="false" HostnameVerificationIgnored="false"  
            IdentityAndTrustLocations="KeyStores" Name="myserver"/>  
    </Server>  
    <JMSFileStore Directory="rmfilestore" Name="FileStore"/>  
    <WSReliableDeliveryPolicy DefaultRetryCount="10"  
        DefaultTimeToLive="60000" Name="RMDefaultPolicy" Store="FileStore"/>  
    <Security Name="mydomain"  
        PasswordPolicy="wl_default_password_policy"  
        Realm="wl_default_realm" RealmSetup="true"/>  
    <EmbeddedLDAP  
        Credential="{3DES}2zhEU1x+6NtlLCiEEASIq7Qj1x8k7JuC+3pK9+ca9us=" Name="mydomain"/>  
    <SecurityConfiguration  
        Credential="{3DES}4UitCfj3yY1Qydt7r2TmFZ5k7e+2OwU1CcIm+8hJck+ffQmdjoBIHB7nOlWWYkgFobxW85RnRM1ExL09MjQAsXRxURh0QkpJ"  
        Name="mydomain" RealmBootStrapVersion="1"/>  
    <Realm FileRealm="wl_default_file_realm" Name="wl_default_realm"/>  
    <FileRealm Name="wl_default_file_realm"/>  
    <PasswordPolicy Name="wl_default_password_policy"/>  
    <JMSServer Name="WSStoreForwardInternalJMSServermyserver"  
        Store="FileStore" Targets="myserver">  
        <JMSQueue CreationTime="1173168293562"  
            JNDIName="jms.internal.queue.WSStoreForwardQueue"  
            JNDINameReplicated="false" Name="WSInternaljms.internal.queue.WSStoreForwardQueuemyserver"/>  
        <JMSQueue CreationTime="1173168293890"  
            JNDIName="jms.internal.queue.WSDupsEliminationHistoryQueue"  
            JNDINameReplicated="false" Name="WSInternaljms.internal.queue.WSDupsEliminationHistoryQueuemyserver"/>  
    </JMSServer>  
    <Application Name="_appsdir_cnr_dir"  
        Path="F:/bea/user_projects/domains/mydomain/applications"  
        StagingMode="nostage" TwoPhase="true">  
        <WebAppComponent Name="cnr" Targets="myserver" URI="cnr"/>  
    </Application>  
    <JDBCConnectionPool DriverName="oracle.jdbc.driver.OracleDriver"  
        Name="TDB" Password="{3DES}hW7xgPt8c4U=" Properties="user=media"  
        Targets="myserver" TestConnectionsOnCreate="true"  
        TestConnectionsOnRelease="true"  
        TestTableName="SQL SELECT 1 FROM DUAL" URL="jdbc:oracle:thin:@192.168.2.101:1521:tmedia"/>  
    <JDBCTxDataSource JNDIName="jdbc/cnr-tdb" Name="jdbc/cnr-tdb"  
        PoolName="TDB" Targets="myserver"/>  
    <JDBCConnectionPool DriverName="oracle.jdbc.driver.OracleDriver"  
        Name="SDB" Password="{3DES}hW7xgPt8c4U=" Properties="user=media"  
        Targets="myserver" TestConnectionsOnCreate="true"  
        TestConnectionsOnRelease="true"  
        TestTableName="SQL SELECT 1 FROM DUAL" URL="jdbc:oracle:thin:@192.168.2.101:1521:smedia"/>  
    <JDBCTxDataSource JNDIName="jdbc/cnr-sdb" Name="jdbc/cnr-sdb"  
        PoolName="SDB" Targets="myserver"/>  
    <JDBCTxDataSource JNDIName="jdbc/CorrelativeLink"  
        Name="jdbc/CorrelativeLink" PoolName="SDB" Targets="myserver"/>  
    <JDBCDataSourceFactory  
        DriverClassName="oracle.jdbc.driver.OracleDriver"  
        FactoryName="jdbc/CorrelativeLink" Name="jdbc/CorrelativeLink"  
        Password="{3DES}hW7xgPt8c4U=" Properties=""  
        URL="jdbc:oracle:thin:@192.168.2.101:1521:smedia" UserName="media"/>  
</Domain>  

 
3.Weblogic的停止和启动:

a.启动:

Weblogic安装目录
/samples/domains/medrec/bin/startWebLogic.cmd
 (Windows) 
Weblogic安装目录/samples/domains/medrec/bin/startWebLogic.sh
 (UNIX/Linux)

b.停止:

Weblogic安装目录
/samples/domains/medrec/bin/stopWebLogic.cmd
 (Windows) 
Weblogic安装目录/samples/domains/medrec/bin/stopWebLogic.sh
 (UNIX/Linux)

4.Weblogic应用部署:

weblogic安装目录/user_projects/domains/base_domain/autodeploy/。

5.Weblogic的JNDI连接配置信息:

Weblogic进行连接JNDI连接时使用的是自己私有的t3协议,而不是标准的IIOP协议。

Context.INITIAL_CONTEXT_FACTORY=weblogic.jndi.WLInitialContextFactory

Context.PROVIDER_URL=t3://localhost:7001
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: