2008年12月17日
功能 activemq 5.2.0 jboss messaging 1.4.1 jboss messaging 2.0
状态 稳定 GA alpha
多语言支持(C#,Python) 支持 不支持 预计支持C++
独立启动 不能
嵌入 不能
支持jboss as 能集成 jboss as 5自带 肯定能集成
2007年01月23日

配置基于Eclipse的Seam开发环境

作者:flmn

参考文档:http://wiki.jboss.org/wiki/Wiki.jsp?page=EclipseSeamAutoDeploy

因为我的电脑配置比较低,在试过Netbeans和IDEA后,我还是决定使用Eclipse,因为它要快那么一点点。

安装Eclipse的插件:

emf-sdo-xsd-SDK-2.2.1
GEF-runtime-3.2.1
JBossIDE-2.0.0.Beta2
JEM-runtime-1.2.1
wtp-R-1.5.2-200610261841

在属性里添加JBoss服务器就不说了。

大原则就是:将所有生成的目录放在本地,让jboss到这里来找javaee工程。

新建一个EJB3.0的工程,假设这个工程叫abcd,一切按照默认,选择好服务器,我用的是jboss-4.0.5.GA,在工程文件夹下建立目录。
deploy:放生成的class文件和网页文件。
dist:放打包生成的abcd.ear,abcd.jar和abcd.war。
lib:放编译期需要的jar包,比如myfaces那两个。

本来的src目录不动,将来源码放这儿。

假设这个工程叫abcd

在deploy目录建立子目录abcd.ear,可以把数据源的配置文件放在deploy目录,如abcd-ds.xml。

进入abcd.ear目录,将需要的jar文件考入abcd.ear目录,如el-api.jar,el-ri.jar,jboss-seam.jar,jbpm-3.1.3.jar等,建立abcd.jar,abcd.war和META-INF目录,META-INF目录放application.xml,jboss-app.xml和MANIFEST.MF。参考文档里说建目录扩展名为ejb3的,但是如果建jar的,等打包的时候application.xml就不用改了,不明白为什么用ejb3这个目录扩展名,jar不影响使用。

将工程的输出目录由默认的bin改为deploy/abcd.ear/aboa.jar,懒得找选项窗口直接改.classpath文件。这样,除了源文件,src目录也放上seam.properties和META-INF目录,META-INF目录放components.xml,ejb-jar.xml,persistence.xml和MANIFEST.MF,编译的时候这些文件会被自动考到deploy/abcd.ear/aboa.jar。

abcd.war放web文件,xhtml,css等,abcd.war目录还要放META-INF和WEB-INF,都是标准配置,不说了。

关键的,修改%JBOSS_HOME%\server\default\conf\jboss-service.xml,在文件最下面,找到这段:
<attribute name="URLs">
    deploy/
</attribute>
这个设置服务器搜索应用的路径,加上我们自己的目录,如:
<attribute name="URLs">
    deploy/,

    file:/E:/eclipse/abcd/deploy/
</attribute>

这样起了jboss就不用频繁重启了,但是好像改了java没有重新部署,再研究一下,至少网页没问题了。

目录结构如下:

abcd
    deploy
        aboa.ear
            aboa.jar
                com
                META-INF
                    components.xml
                    ejb-jar.xml
                    MANIFEST.MF
                    persistence.xml
                seam.properties
            aboa.war
                META-INF
                    MANIFEST.MF
                WEB-INF
                    classes
                    lib
                        ajax4jsf.jar
                        jboss-seam-debug.jar
                        jboss-seam-ui.jar
                        jsf-facelets.jar
                        oscache-2.3.2.jar
                    components.xml
                    events.xml
                    faces-config.xml
                    pages.xml
                    web.xml
                index.htm
            META-INF
                application.xml
                jboss-app.xml
                MANIFEST.MF
            el-api.jar
            el-ri.jar
            jboss-seam.jar
            jbpm-3.1.3.jar
        aboa-ds.xml
    dist
    lib
        myfaces-api-1.1.4.jar
        myfaces-impl-1.1.4.jar
    src
        com
        META-INF
            components.xml
            ejb-jar.xml
            MANIFEST.MF
            persistence.xml
        seam.properties

2007-01-23更新:
重新保存deploy\abcd.ear\META-INF\application.xml会让服务器重新部署这个应用程序。按照unix的说法,就是touch一下这个文件。

2007年01月17日

<web-app>
    <security-constraint>
        <display-name>Restrict HTML Documents</display-name>
        <web-resource-collection>
            <web-resource-name>HTML</web-resource-name>
            <url-pattern>*.html</url-pattern>
        </web-resource-collection>
        <auth-constraint>
            <description>
                Only Let ‘developer’s access HTML pages
            </description>
            <role-name>developer</role-name>
        </auth-constraint>
    </security-constraint>
</web-app>