标签: java-ee-6

哪些Web容器可以作为Windows服务自行安装?

我们有一个Web应用程序产品已经有好几年了,并且使用Tomcat在Windows下部署它,因为它将自己注册为Windows服务,因此它会自动启动和停止.

我们现在可能需要比Tomcat提供的更多Java EE工具(我们很容易受到容器中Java EE 6的影响)所以问题是哪些开源Java EE容器可以像Windows服务一样工作.由于Glassfish是目前唯一的Java EE 6实现,如果它运行良好会很好,但我想听听经验,而不仅仅是我能从小册子中读到的内容.如果没有,人们还会使用什么?


编辑:这也适用于Web容器,而不仅仅是Java EE容器.我们可能会保留必要的堆栈,直到找到合适的容器并获得Java EE 6支持.


编辑:我希望这个分布式工作.我对手动破解包装器等不感兴趣,但希望安装过程能够处理服务的创建和删除.


编辑2012:事实证明,Glassfish的Windows安装程序可以作为服务安装(需要.NET).组件网站http://kenai.com/projects/winsw.已经证明非常强大.

java windows-services java-ee java-ee-6

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

EJB3 Remote vs Webservices,表现?

我打算使用一个webapp,每个使用它的人都会有一个客户端可以在其计算机上运行计算(因为这些计算无法在服务器上完成,负载太多......),然后将结果发送给服务器.

我想会有很多人对我的应用程序感兴趣,这就是为什么我想知道我的架构是否良好以及我是否能够处理成千上万的人.

我计划通过JNDI使用Glassfish服务器公开远程EJB,因此1000人可以同时使用这些EJB(我猜可能有5-50个请求/秒)来检索本地计算所需的数据,然后到发送结果......

将EJB暴露给许多客户端是否昂贵?使用webservices,rmi,另一种解决方案会更好吗?

你会为我推荐的另一种架构推荐我吗?

web-services glassfish java-ee java-ee-6 ejb-3.1

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

如何在不编写并发逻辑的情况下使用Spring返回Future对象?

如何返回java.util.concurrent.Future带有Receipt对象的对象并仅使用@javax.ejb.Asynchronous注释?

我需要任何额外的配置让Spring处理ejb注释吗?

我不想自己编写任何并发逻辑.

这是我的尝试不起作用:

@Asynchronous
public Future<Receipt> execute(Job job) {
    Receipt receipt = timeConsumingWork(job);
    return receipt;
}
Run Code Online (Sandbox Code Playgroud)

java concurrency spring java-ee-6

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

从Seam 2切换到普通JavaEE 6的最大变化(损失)可能是什么?

问题几乎说明了一切,但显然我正在寻找在Java EE 6环境中可能会错过Seam 2的事情("损失").

对于我的最新(小)项目JavaEE 6或更具体的JSF 2是修复要求,因此使用Seam 2不是一个选项(也不会是).尽管有些人说要让Seam 2使用JSF 2,但我从未做过.到目前为止,我只使用了Seam 2,我担心切换到普通的JavaEE环境会带来比我目前所知更多的问题.

该项目具有以下基本/核心要求:

  • 基于角色和权限的安全概念(约50个用户)
  • JPA 2事务持久性
  • ...

其余的将是基于GUI,搜索表单,客户端验证等,将由RichFaces 4和JavaEE 6 bean验证处理.没有Web服务,没有宁静的URL,没有消息,没有电子邮件.

我可以看到使用Seam安全性肯定是一种损失,但我不确定Seam持久性,实体/查询框架,JBoss EL和其他将是什么,尤其是整体编程模型(导航,EL,bean) .请注意,我们将能够在有意义的时候添加Seam 3模块,因此您可以在"增益"部分的讨论中包含Seam 3.

那么,任何人都能清楚这一点吗?(它不一定是一个完整的总结,无论你想到什么,继续)

PS:我无法连接到Seam论坛所以我觉得我需要在这里问.

seam cdi seam2 seam3 java-ee-6

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

使用注释在JBoss AS 7中创建Web服务

我有一个带有嵌套EJB项目的EAR文件,一个.war动态Web项目和一个包含实体bean定义的.jar文件.

我正在尝试使用此远程接口创建一个简单的基于SOAP的Web服务:

package session;

import javax.ejb.Remote;
import javax.jws.WebMethod;
import javax.jws.WebService;

@Remote
@WebService
public interface HelloWorldRemote {
    @WebMethod
  public String greet(String from);
    @WebMethod
  public String getMessage();
}
Run Code Online (Sandbox Code Playgroud)

和这个实现类:

package session;

import javax.ejb.Stateless;
import javax.jws.WebService;

@Stateless
@WebService(endpointInterface = "session.HelloWorldRemote", serviceName = "HelloWorldWS")
public class HelloWorldImpl implements HelloWorldRemote {

  public String greet(String from) {
    return "Hello, " + from + ".";
  }

  public String getMessage() {
    return "It's working.";
  }
}
Run Code Online (Sandbox Code Playgroud)

但是,当我部署EAR文件时,日志没有提及类,WSDL,Web服务或任何会让我相信它正在尝试根据我的注释创建Web服务的任何内容.

我错过了什么?

java annotations web-services java-ee-6 jboss7.x

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

将javax.validation功能添加到Tomcat

我正在尝试使用Tomcat运行Web应用程序,但应用程序正在使用以下库:

import javax.validation.constraints.Future;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
Run Code Online (Sandbox Code Playgroud)

这些库不是Tomcat规范的一部分,因此我需要手动添加它们.

我应该添加哪些库?

tomcat tomcat6 bean-validation java-ee-6

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

@ javax.persistence.Column(updatable = false)

如果我将一个字段定义为不可更新,这是否意味着该字段永远无法更新?我想做的是在保存整个实体对象时阻止字段更新,但是仍然能够编写显式更新此字段的查询。这可能吗?

我正在使用Hibernate和MySQL,但我更喜欢编写可移植的代码。

java jpa java-ee java-ee-6

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

单元测试JPA/Hibernate:没有EntityManager的持久性提供程序

我想为我的项目启用单元测试.我创建了如下结构.

目录结构

.
??? pom.xml
??? src
?   ??? main
?   ?   ??? java
?   ?   ??? resources
?   ?       ??? META-INF
?   ?       ?   ??? beans.xml        <-- Works fine in live
?   ?       ?   ??? persistence.xml  <-- Works fine in live
?   ??? test
?       ??? java
?       ?   ??? com
?       ?   ?   ??? test
?       ?   ?       ??? model
?       ?   ?           ??? TestEntityManagerUtil.java
?       ?   ?           ??? TestHibernate.java
?       ??? resources
?           ??? META-INF
?           ? …
Run Code Online (Sandbox Code Playgroud)

hibernate java-ee-6 jpa-2.0

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

Glassfish在部署时找不到JNDI DataSource

我正在尝试部署一个earin glassfish,但它无法解密它抱怨它找不到写入的DataSourcepersistence.xml

persistence.xmlDataSource中配置为java:app/jdbc/mysqlDS但它正在寻找java:app/jdbc/mysqlDS__pm.这很奇怪.任何的想法?

编辑我创建了以下dtasources

  • mysqlDS
  • mysqlDS__pm

编辑结束

这里有一些细节:

  • 耳朵应用
  • 使用maven
  • 应用程序是从eclipse部署的

在这里 persistence.xml

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0"
  xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
  <persistence-unit name="test_pu" transaction-type="JTA">
    <jta-data-source>java:app/jdbc/mysqlDS</jta-data-source>
    <!--
       tried with this too
       <jta-data-source>java:app/jdbc/mysqlDS__pm</jta-data-source>
    -->
  </persistence-unit>
</persistence>
Run Code Online (Sandbox Code Playgroud)

错误日志

INFO: SEC1115: Realm [certificate] of classtype [com.sun.enterprise.security.auth.realm.certificate.CertificateRealm] successfully created.
INFO: SEC1011: Security Service(s) Started Successfully
SEVERE: Exception while invoking class org.glassfish.persistence.jpa.JPADeployer prepare method
SEVERE: Exception while invoking class org.glassfish.javaee.full.deployment.EarDeployer prepare method
SEVERE: Exception while …
Run Code Online (Sandbox Code Playgroud)

java jpa datasource java-ee-6 glassfish-3

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

EJB拦截器与CDI拦截器

在ejb-jar.xml文件中声明的EJB拦截器与beans.xml文件中声明的CDI拦截器之间是否有任何区别?

两个拦截器都使用注释@Interceptors声明.如果CDI拦截器也适用于EJB,那么为什么存在EJB拦截器?

java cdi java-ee-6 ejb-3.1

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