我们使用Tomcat来托管基于WAR的应用程序.我们是与servlet容器兼容的J2EE应用程序,但org.apache.catalina.authenticator.SingleSignOn除外.
我们被要求迁移到商业Java EE应用服务器.
那么我没有看到的好处是什么?
我没有提到的缺点是什么?
提到的是......
这很好,请多多!
基本上,它在锡上说的是什么; 我需要一个可在Java SE应用程序中使用的JTA实现,理想情况是它不会带来太多的框架负担.
我正在学习Clojure,我真的很喜欢它的一些功能.现在是时候考虑一些真正的"宠物项目",我意识到我不确定如何实际使用 Clojure.
我看到很多网络和模板框架(例如Compojure),但不知怎的,我对它是否值得怀疑.我觉得从长远来看,它无法满足您使用Spring,Hibernate和Java EE堆栈部分解决的实际应用程序的需求.
另一方面,我看到并发功能的巨大潜力,但我对如何真正使用它们的想法很缺乏.
足够的背景,我的问题是:
编辑:感谢所有的好答案.他们都非常鼓舞人心.因此,如果您还有其他任何需要补充的内容,请继续进行,不要因为已被接受而被推迟.
我有Eclipse Galileo(版本:3.5.2),我用它来开发Jave SE应用程序.我想学习Java EE.如何合并Java EE?或者我是否需要安装特定于Java EE的Eclipse IDE?
跟进:
非常感谢您的回答!列表中有很多名称出现在Eclipse中.例如WTP 3.1.1,WTP 3.1.2,补丁,WTP测试3.1.1,WTP测试3.1.2.我下载哪些?
我正在寻找类似于Amazon S3的服务,这是一种存储和检索任意数据(和元数据)的简单服务,但是在您自己的数据中心本地运行.严格来说,我不确定您是将其称为CDN还是轻量级CMS.
它必须是水平可扩展的(包括存储和带宽)和容错.它还必须支持REST,最好是WS,以及可插拔的身份验证和授权系统.使用Java EE构建的东西更适合更方便的集成和可扩展性,但这只是个人偏好,而不是必需的.
建议?
事情就是这样:我需要从下个月开始使用某个Java EE Web应用程序并将其部署到Amazon EC2(我需要先设置)(使用http://aws.amazon.com/free/faqs/ AWS免费层使用 - 希望它支持Tomcat + MySQL/PostgreSQL).
问题:我从未部署过Java EE应用程序(在专用主机上甚至不是普通的应用程序),也没有设置Amazon EC2环境.
是否有任何,最好的白痴证明,教程/操作方法/从一开始就做到这一点(注册到亚马逊)直到最后(当你的应用程序全部启动并运行时)?
我确实找到了一些关于如何设置Amazon EC2实例的教程,如何正常部署Java EE应用程序,但我正在寻找的是一个单独的教程.
这个问题困扰了我一段时间了(我希望我不是唯一的一个).我想采用一个典型的3层Java EE应用程序,看看它可能看起来像是用actor实现的.我想知道是否真的有意义进行这样的转换以及如果它确实有意义我可以从中获利(可能是性能,更好的架构,可扩展性,可维护性等等).
这是典型的Controller(演示),服务(业务逻辑),DAO(数据):
trait UserDao {
def getUsers(): List[User]
def getUser(id: Int): User
def addUser(user: User)
}
trait UserService {
def getUsers(): List[User]
def getUser(id: Int): User
def addUser(user: User): Unit
@Transactional
def makeSomethingWithUsers(): Unit
}
@Controller
class UserController {
@Get
def getUsers(): NodeSeq = ...
@Get
def getUser(id: Int): NodeSeq = ...
@Post
def addUser(user: User): Unit = { ... }
}
Run Code Online (Sandbox Code Playgroud)
你可以在许多弹簧应用中找到类似的东西.我们可以采用没有任何共享状态的简单实现,因为没有同步块...所以所有状态都在数据库中,应用程序依赖于事务.服务,控制器和dao只有一个实例.因此,对于每个请求,应用程序服务器将使用单独的线程,但线程不会相互阻塞(但将被DB IO阻止).
假设我们正在尝试与actor实现类似的功能.它看起来像这样:
sealed trait UserActions
case class GetUsers extends UserActions
case class GetUser(id: Int) extends UserActions …Run Code Online (Sandbox Code Playgroud) 我知道Local接口是为同一容器的JVM实例中的客户端设计的,远程接口是为驻留在EJB容器JVM外部的客户端设计的.如果Web应用程序客户端不在同一个.ear中驻留(或打包)但位于同一Java EE服务器上,那该怎么办?
我们目前有一个Java EE系统,我们使用JPA映射到我们的数据库.它是一个相当完善的系统,有大约20个实体.
我们现在被命令使用Views来做所有事情.例如:如果我们有一个名为PERMISSION的表,那么我们还需要一个名为PERMISSION_VIEW的视图.基本上我们需要对每个表执行此操作,并且我们的应用程序只能通过查询视图来访问数据.
现在我们所有的实体bean都是这样的:
@Entity
@Table(name = "PERMISSION")
@NamedQueries({
@NamedQuery(name = "Permission.findByPK", query = "SELECT p FROM Permission p WHERE p.dpNum = :dpNumber"),
@NamedQuery(name = "Permission.deleteAll", query = "DELETE FROM Permission") })
public class Permission implements Serializable {
}
Run Code Online (Sandbox Code Playgroud)
我知道对于JBoss,您需要在相应实例的/ deploy子目录中使用[name] -ds.xml文件.我没有任何其他Java EE容器的经验,但我试图尽可能地坚持标准.有没有一种标准的方法来定义JDBC数据源并进行部署?如果可能的话,我想将我的数据源包含在*.ear文件中(例如,用于演示目的的嵌入式内存HSQLDB数据源)?
如果没有标准方式,其他容器至少会接受jboss方式吗?(/deploy/*-ds.xml)