Tag: glassfish

使用Maven,如何根据J2EE / JPA JAR正确部署WAR?

我正在创建一个模块化的Maven项目。 项目部署在Glassfish 3.1上。 项目(webapp)包含三个模块: “通用”,由内置于JAR的核心function(持久性,身份validation逻辑等)组成 “用户”,取决于Common,内置于WAR中 “管理员”,也取决于Common和WARred 两个WAR都使用Common中的重注释(@ Entity,@ Inject,@ EJB,…)类。 目前Common是一个JAR,但它不是必需的。 问题是: 如何正确部署此类项目? 通过我目前(谷歌和stackoverflow影响)的知识: Common不能是JAR,因为.jar文件放在JAR里面的WEB-INF \ lib目录下。 这使得部署时初始化,因为Glassfish期望.classes并产生“不满意的依赖性”错误,导致部署失败。 Common不能是WAR,因为在构建后使用WAR覆盖复制ocurrs – 导致构建依赖于它自己… 编辑 正如Mike Decks评论建议设置正常,我认为提供完整的错误消息会很有用: Deployment Error for module: User: Error occurred during deployment: Exception while loading the app : WELD-001408 Unsatisfied dependencies for type [Authentication] with qualifiers [@Default] at injection point [[field] @Inject xxx.xxx.servlets.LoginFilter.authentication]. […]

通过netbeans将战争部署到glassfish v3 beta上

同样的.war文件可以很好地部署到Glassfish v2.1上。 我不知道上次我尝试过v3,但是我想查看热部署function,因为据传它正在使用glassfish v3在netbeans 6.8中工作。 所以,我像往常一样部署,我收到以下错误: SEVERE: Exception while invoking class org.glassfish.ejb.startup.EjbDeployer load method …. SEVERE: Exception while loading the app java.lang.RuntimeException: Unable to load EJB module. DeploymentContext does not contain any EJB Check archive to ensure correct packaging for c:\src\svn\trunk\gui\target\WEBAPP at org.glassfish.ejb.startup.EjbDeployer.load(EjbDeployer.java:134) at org.glassfish.ejb.startup.EjbDeployer.load(EjbDeployer.java:64) at org.glassfish.internal.data.ModuleInfo.load(ModuleInfo.java:153) at org.glassfish.internal.data.ApplicationInfo.load(ApplicationInfo.java:220) at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:314) at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:169) at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:272) […]

使用EJB3.1进行logback

我正在使用logback / slf4j来处理我的应用程序中的日志记录。 在我开始使用EJB之前,一切都运行良好。 一旦我将无状态EJB添加到我的应用程序,记录器就开始忽略我的logback.xml并停止使用我的appender。 我切换到程序化记录器配置以查看错误,现在当我尝试在EJB中使用我的记录器时,我收到以下错误: org.slf4j.impl.JDK14LoggerFactory cannot be cast to ch.qos.logback.classic.LoggerContext 来自这条线: LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory(); 是否需要任何特殊配置才能使回归与EJB一起使用? 如果重要的话,我正在使用glassfish v3进行部署。

没有找到Java类的消息正文编写器…和MIME媒体类型text / html

我正在使用jms / atmosphere框架在两个应用程序之间进行通信。 其中一个应用程序是主题的消息生成器,发送以下类型的自定义对象: @XmlRootElement public class A implements Serializable{ public A(){} /* some private properties */ } 另一方面,不止一个消费者正在监听该主题并根据ID进行不同的订阅。 @GET @Produces({MediaType.APPLICATION_JSON}) public SuspendResponse subscribe() { return new SuspendResponse.SuspendResponseBuilder() .broadcaster(topic) .outputComments(true) .addListener(new EventsLogger()).build(); } @Override public void incomingBroadcast() { try { String id = getID(); if (id.startsWith(“/*”)) { id = “atmosphere”; } logger.info(“Looking up Connection Factory […]

如何在Glassfish 2.1中设置env变量

我想在Glassfish 2.1版中部署当前部署在Tomcat中的应用程序。 在Tomcat server.xml中,我在server.xml中定义了一个由应用程序使用的env变量 如何在Glassfish 2.1中设置此变量。 我知道版本3中有一个asenv.conf文件,但我在2.1中找不到类似的东西。

在Web应用程序中共享会话

我正在使用JSP和Servlets开发Web应用程序(容器: Tomcat7 ,数据库: Oracle10 ) 我开发了一些Web应用程序,如Profile , Reports , Leads 。 然后我开发了一个Login应用程序。 在这个应用程序中,我在Session存储了USERID以及更多的会话属性。 用户登录后,将显示菜单,其中包含指向其他应用程序的链接,例如指向Profile应用程序的链接。 所以当我在用户登录后访问Session时: 如果我尝试使用相同的应用程序(登录)访问会话,那么我将获得具有所有必需属性的会话 但是当我尝试从其他应用程序(如Profiles访问会话时,我将会话视为null 用于检查会话的代码片段 (登录Web应用程序中的Servletfilter) HttpSession session = request.getSession(false); if(session==null) { System.out.println(“Session does not exist… Redirected to LOGIN Page.”); response.sendRedirect(“/ApplicationName/Login.jsp”); } 我正在访问Profile应用程序中的会话以检查用户是否已登录。 然后我搜索了,并且我发现出于安全原因无法从其他应用程序访问Session 。(我还发现可以通过设置crossContext=”true”来完成) 然后我找到了其他选项,比如制作所有应用程序的EAR然后进行部署,但遗憾的是, Tomcat7不支持EAR 。 我是网络环境的新手,所以如果有人在此之前做过这方面的工作,那么请告诉我有什么选择? 提前致谢 UPDATE1 现在我已决定使用EAR ,我将在其中打包所有WAR文件,然后我将尝试在它们之间共享会话。 由于Tomcat不支持EAR我安装了Oracle Glassfish ,然后我创建了Enterprise Application Project ,其中包含两个应用程序1. Login和2. Profiles ,然后创建EAR文件,并将其部署在Glassfish […]

使用ear / ejb / web模块时,Glassfish 4.1无法运行RestFul服务

我有很多jee7 maven项目(带有web和ejb模块的耳朵),RestFul服务在Glassfish v 4.0上运行良好但是当我尝试在Glassfish v.4.1上运行这些项目时,RestFul服务不再起作用了他们抛出这个例外: javax.servlet.ServletException: A MultiException has 1 exceptions. They are: 1. org.glassfish.hk2.api.UnsatisfiedDependencyException: There was no object available for injection at SystemInjecteeImpl(requiredType=TestBean,parent=GenericResource,qualifiers={},position=-1,optional=false,self=false,unqualified=null,82785107) 我已经仔细检查了这个问题,最终Glassfish 4.1可能有一个损坏的库(可能是cdi实现?),Glassfish v.4.0和Wildfly 8.1.0.Final运行良好…… 我无法理解如何在Glassfish v.4.1上运行我的RestFul Web服务… 有人能帮帮我吗? 提前谢谢了… 这里的堆栈跟踪: Avvertenza: An instance of EJB class, test.rest.GenericResource, could not be looked up using simple form name. Attempting to look up using […]

如何部署Web应用程序并创建其资源

之前在glassfish 4上部署“myapp.war”之前我必须这样做 创建jdbc连接池(/WEB-INF/glassfish-resources.xml – > jdbc-connection-pool本身不起作用…从asadmin可以正常工作) 为池创建jdbc资源(/WEB-INF/glassfish-resources.xml – > jdbc-resource与上面相同) 创建auth-realm(没有自动,现在使用asadmin) 创建模式(peristence.xml – > property javax.persistence.schema-generation.create-database-schemas ,但是是伪造的) 创建表(persistence.xml – >`create-tables’,不完美,但至少它可以工作) 现在我在做: 在/ tmp / install上传“myapp.war”,“glassfish-resources.xml” asadmin add-resources … asadmin create-auth-realm … asadmin deploy … asadmin disable myapp … nano /…/glassfish/applications/myapp/WEB-INF/classes/META-INF/persistence.xml 注释几行, ctrl+o , enter , ctrl+x , enter asadmin enable myapp … rm -Rf /tmp/install […]

在Glassfish中制作数据源

我正在使用服务器的管理控制台为GlassFish创建JDBC连接池资源。 页面上用于创建池的字段之一标记为“资源类型”。 此字段有四个可能的值:javax.sql.DataSource,javax.sql.XADataSource,javax.sql.ConnectionPoolDataSource和javax.sql.Driver,但是创建JDBC连接池“向导”的帮助文本没有太多信息这些选择的优缺点。 当提示选择我应该选择的资源类型时? 我将连接到本地MySQL服务器。 对下拉列表中的选项之间的差异进行解释也是很好的。

在eclipse中添加org.glassfish.jersey.archetypes

我想在eclipse中创建一个maven项目。 我正在尝试创建一个原型,但得到以下错误。 无法解析Archetype org.glassfish.jersey.archetypes:jersey-quickstart-webapp:2.16 org.eclipse.core.runtime.CoreException:无法解析工件org.glassfish.jersey.archetypes:jersey-quickstart-webapp:pom:2.16