小编Ama*_*icA的帖子

JavaEE解决方案配置最佳实践

我们构建3层企业解决方案,通常由几个webapp和ejbjar模块组成,这些模块都与​​数据库通信并具有多个外部集成点.

每个模块通常都需要自己的配置,可以改变解决方案的生命周期.部署它变成了一场噩梦,因为现在我们有18个属性文件,必须记住这些文件才能复制并配置为设置数据源,队列,内存要求等.

我希望能有更好的方式,但不乐观.我们考虑/使用的一些选项,每个选项都有它的优点和缺点:

  1. 使用多个maven项目和持续集成(例如,hudson或jenkins)来构建一个配置jar,其中包含每个环境(dev,qa,prod)的所有属性文件,然后将所有内容捆绑为EAR.但是,在需要时,生产中的事情不容易改变.
  2. 将大多数设置放在数据库中,并有一个简单的屏幕来修改它.在内部,我们可以拥有一个可以读取和修改值的通用配置服务EJB.每个模块都可以拥有一个具有特定getter和setter的自定义扩展版本.
  3. 版本控制所有属性文件,然后在生产时检查它,并在进行更改后将其检入生产分支.

有了所有这些,你仍然需要以容器特定的方式配置数据源和队列等:(

java jboss glassfish java-ee apache-tomee

14
推荐指数
1
解决办法
2078
查看次数

使用openstreetmap示例的gwt-openlayers

我想将OSM集成到GWT中.我发现这个库名为gwt-openlayers,但我不明白如何使其与OSM地图一起使用.

任何人都能提供一个简短的例子吗?

gwt openstreetmap gwt-openlayers

11
推荐指数
2
解决办法
1万
查看次数

如何为spring Web流定义自定义消息源?

spring webflow文档提到他们向流添加消息的方法是在流中的文件messages.properties中定义关于该流的所有消息:

国际化消息在Spring MessageSource访问的消息包中定义.要创建特定于流的消息包,只需在流的目录中定义messages.properties文件即可.为您需要支持的每个其他区域设置创建默认的messages.properties文件和.properties文件.

在我们的webapp中,我们使用Spring Webflow和专有框架.我们将所有国际化消息都放在一个文件中,我们希望Spring Webflow可以访问这个消息,而不是使用几十个属性文件乱丢我们的项目.有没有办法为spring webflow配置消息源,还是我们坚持使用messages.properties?

spring internationalization spring-webflow

9
推荐指数
1
解决办法
2637
查看次数

Jetty 8 + EJB 3.1 + JTA + CDI + JPA 2堆栈?

任何人都可以告诉我,目前是否可以通过Jetty"粘合"部分Java EE 6 Web配置文件?我发现了很多关于将独立EJB 3容器,JTA提供程序等与旧Jetty版本集成的文章,所以如果我可以将它们全部一起工作,我就会更加努力.我想组装一个Servlet 3.0 + CDI + EJB 3.1 + JTA(如果需要,我真正想要的是声明式事务管理)+ Jetty 8上的JPA 2环境(如果没有可用的Jetty替代品,则为Tomcat 7).我的问题是:可以做到吗?有人设法做到了吗?有关将OpenEJB,Atomikos,Weld,EclipseLink和Jetty(或任何其他类似的堆栈)协同工作的任何文章?有没有神奇的"全部"pom.xml文件?

PS:是的,我知道我可以使用GlassFish(我非常喜欢).我只是想知道使用Servlet容器做类似工作有多难,以及两个环境在复杂性,性能,大小,部署速度,硬件资源消耗等方面的比较.

java jetty openejb java-ee-6 ejb-3.1

7
推荐指数
1
解决办法
8939
查看次数

在使用JPA时,如何在部署时为序列设置模式名称?

出于安全原因,我们的oracle db对象通常属于与登录用户不同的模式.例如.表位于xx_core中,我们登录的用户是xx_app_yy.在我的persistence.xml中,我定义了一个orm文件,以便我可以在部署时指定模式名称,例如: <mapping-file>xx_schema_orm.xml</mapping-file>

然后在xx_schema_orm.xml中我可以定义对象拥有模式,例如:

<persistence-unit-metadata>
  <persistence-unit-defaults>
    <schema>xx_core</schema>
  </persistence-unit-defaults>
</persistence-unit-metadata>
Run Code Online (Sandbox Code Playgroud)

这适用于表格,但我找不到序列的等价物.它尝试使用没有模式名称的序列,然后我得到一个例外:

2010-10-14 03:04:05,423:DEBUG   could not get next sequence value [select xx_SEQ.nextval from dual]     - org.hibernate.util.JDBCExceptionReporter
java.sql.SQLException: ORA-02289: sequence does not exist

    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:145)

我试图将模式名称设置为xx_schema_orm.xml中生成器的序列名称的一部分,但无法使其工作,例如:

<sequence-generator name="xx_SEQ_GEN"
sequence-name="xx_core.xx_SEQ"/>
Run Code Online (Sandbox Code Playgroud)

我可以尝试的解决方法:

  • 为用户模式中的序列创建数据库SYNONYM.
  • 停止使用序列并使用其他方式生成ID.

java oracle persistence jpa

5
推荐指数
1
解决办法
6558
查看次数

JPA在需要类型转换的字段上定义关系

我想在列"供应商"上加入两个表,在发票表供应商类型是整数,在供应商表中,供应商是类型varchar(10).

是否可以进行类型转换并且还有关系?

@Entity
public class Vendor
{
    private String id;

    @Id(Column="vendor")
    public String getId(){ ... }
}

@Entity
public class Invoice
{
    private Vendor vendor;

    @One-to-one
    public Vendor getVendor() { ... }
}
Run Code Online (Sandbox Code Playgroud)

java types jpa relationship

5
推荐指数
1
解决办法
1429
查看次数

gwt-openlayers中的mousemove事件

我试图在gwt-openlayers中捕获鼠标事件.以下处理程序确实接收事件,但是我无法从EventObject对象中提取鼠标位置.有人可以帮忙吗?

mapPanel.getMap().getEvents().register("mousemove", mapPanel.getMap(), new EventHandler() {
            @Override
            public void onHandle(EventObject eventObject) {
                // how to obtain mouse position ?
            }
        });
Run Code Online (Sandbox Code Playgroud)

另外,还有另一种接收鼠标移动事件的方法吗?我可以拦截MousePosition控件吗?

非常感谢您的帮助.

openlayers gwt-openlayers

4
推荐指数
1
解决办法
1494
查看次数

Java综合列表

我正在寻找一个具有复合列表实现的开源库.我需要一个列表,从其他列表中读取其值,并可以构造如下:

List list1 = new ArrayList();
list1.add("0");
List list2 = new LinkedList();
list2.add("1");
list3.add("2");
List list3 = new CompositeList(list1, list2...)
Run Code Online (Sandbox Code Playgroud)然后:
assertEquals("0", list3.get(0));
assertEquals("1", list3.get(1));
assertEquals("2", list3.get(2));
Run Code Online (Sandbox Code Playgroud) 我的想法是,我不需要复制源列表中的所有内容.

一个快速的谷歌没有找到任何东西,我没有在番石榴或公共收藏中看到它(我可能忽略了它).我现在没有足够的时间正确实施它.

java collections guava apache-commons-collection

3
推荐指数
2
解决办法
2913
查看次数

如何将OpenLayers中VectorFeatures或Layer的Coorinates从一个投影转换为另一个投影?

我在我的项目中使用GWT-OpenLayers,我在转换坐标方面遇到了问题.我知道如何为单点做到这一点,transform(from,to)但我可以在不申请每一点的情况下这样做吗?现在我正在解析KLM数据以获取功能列表,我将它们添加到新的矢量中

gwt openlayers gwt-openlayers

2
推荐指数
1
解决办法
313
查看次数