使用纯粹的C++语言编写COM组件




英文稿地址为:http://docs.jboss.org/jbossas/getting_started/v4/html/index.html

由JMX MBean服务器、微内核(Microkernel)、一套可插入式组件服务以及MBean组成,这种架构使得集成不同的配置更加简单,并且能很灵活地满足用户的需求,不需要一次运行重量级的应用服务器。

基本目录说明:
server目录下存放服务器配置实例,默认有3个:minimal、default、all,可在此目录下自定义服务器实例,然后在启动脚本中指定加载自定义实例即可。

    munimal:启动服务器所要求的最低配置,提供日志服务、JNDI服务器以及URL部署扫描器,以找到新的部署应用。不包含web服务器,不提供EJB和JMS服务。
    default:默认配置,包含大多数J2EE应用所需的标准服务。不包含JAXR(在服务注册中使用的一组java XML API)服务、IIOP服务,也不包含集群服务。
    all:提供所有可用的服务,包括集群。

服务配置实例中的定义如下:
    conf:包含指定jboss核心服务的jboss-services.xml文件,还有核心服务的其他配置文件。
    lib:服务配置所需要的jar文件。
    deploy:应用代码部署在此,同时也用于热部署服务(动态添加或删除)和部署jca资源适配器,也包含JMX控制台应用,JBoss服务器定期扫描该目录,查找是否有组件更新或修改,从而完成组件的重新部署。
    log:日志信息将存储到该目录,使用Log4j作为其日志工具。
    tmp:供部署器临时存储未打包应用使用,也可做其他用途。
    work:供tomcat编译jsp使用。

核心服务:
    jboss启动时,首先启动conf/jboss-services.xml文件中指定的核心服务。
    conf/Log4j.xml定义日志服务。修改该文件可控制jboss的日志功能,该文件定义了一套appender,指定了日志文件、具体消息Category类型的存储、消息格式以及消息的过滤级别。
       一共存在4中日志级别:DEBUG、INFO、WARN、ERROR。其中,控制台的入口参数(threshold)为INFO,即调试信息在控制台看不到。相比之下,没有为server.log设置任何入口。
   
安全性服务:
    login-config.xml,jmx-console.war/web-inf中的jboss-web.xml、web.xml进行控制,不做过多纠缠。

其他服务:
    deploy目录放置的服务不是核心服务,但具有热部署能力。可通过xml描述符文件(*_services.xml)或jboss服务存档(sar)文件给出服务,sar是以单个存档文件给出的。

    web容器--Tomcat,jboss4.0.0将Tomcat作为其默认web容器,嵌入的Tomcat服务是通过展开的sar(jbossweb-tomcat50.sar)给出的,tomcat所需的所有的jar文件在这里都可以找到,包括为web应用提供默认配置集合的web.xml。注意,此嵌入式服务与单独的tomcat服务器是有差别的。

用于ejb和web应用的ejb-jar.xml和web.xml部署描述符是j2ee规定的标准部署描述符。
容器相关部署描述符:
    容器相关信息放在外部xml描述符中,将应用使用的逻辑信息映射到服务器使用的实际值。jboss为EJB和Web模块分别提供了jboss.xml和jboss-web.xml描述符。
   
JNDI,引入了客户端本地环境命名上下文的概念,避免在应用中硬编码中JNDI名,通过使用jboss-client.xml部署描述符解析标准application-client.xml中的JNDI引用名。**JNDI具体细节及实现机制参照JDK API文档对javax.naming.Context类的解析。**java属性通过两种方式提供,一,硬编码,二,jndi.properties文件,示例如下:
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.provider.url=jnp://localhost:1099
java.naming.factory.url.pkgs=org.jboss.naming.client
j2ee.clientName=bank-client
前三个属性是标准属性,供Jboss JNDI实现使用,通过j2ee.clientName属性能够标识客户应用部署信息,并告知服务器端,j2ee.client.name名必须匹配jboss-client.xml描述符中的jndi-name指定的名字。

安全管理,关注下散列码的生成。



Jboss之web服务
 
jbossWS是jboss用于提供web服务的模块,替换了以前的jboss.NET包。jbossWS还是基于Apache Axis。

JMS和消息驱动Bean,飘过。

数据库连接,很熟悉的老话题,Jboss数据库连接完全由Jboss JCA实现处理:
1:包裹JDBC的资源适配器,需提供jdbc驱动及相关的类。
2:数据源配置文件,其后缀为*_ds.xml,在目录doc/example/jca中有各种数据库的配置实例。数据源配置文件格式的完整性描述请参考docs/dtd/jboss-ds_1_0.dtd,
注:oracle用于非XA的基本驱动类是oracle.jdbc.driver.OracleDriver。

Jboss的hebernate应用,待补充,可在 《深入浅出Hibernate》(Head First Hibernate)中做完整的描述。

留下几个问题,SAR、JCA、Ant、XDocLet,jbpm工作流引擎。

©️2020 CSDN 皮肤主题: 酷酷鲨 设计师:CSDN官方博客 返回首页