Tag: glassfish

@Context对象来自哪里

我一直在寻找,但似乎无法找到明确的答案…… 服务器(我的问题的玻璃鱼)注入用@Context注释的实际objets的机制是什么? 更具体地说,如果我想编写一个类似于以下内容的类: @Path(“/”) public class MyResource { @GET public String doSomething(@Context MyObject obj) { // … } } 那我该怎么办? MyObject在哪里实现,谁在做,以及如何实现? 编辑:我见过以下内容: 在JAX-RS中使用@ Context,@ Provider和ContextResolver http://jersey.576304.n2.nabble.com/ContextResolver-confusion-td5654154.html 但是,这与我所看到的不一致,例如在org.neo4j.server.rest.web.RestfulGraphDatabase的构造函数中,它具有以下签名: public RestfulGraphDatabase( @Context UriInfo uriInfo, @Context Database database, @Context InputFormat input, @Context OutputFormat output, @Context LeaseManager leaseManager )

设置/配置EJB Timer Service的DataSource

我正在尝试在我的应用程序中使用EJB 3.1中的Timer Service。 @Stateless @LocalBean public class StatelessTimerSessionBean { @Schedule(minute = “*”, second = “0”, dayOfMonth = “*”, month = “*”, year = “*”, hour = “9-17”, dayOfWeek = “Mon-Fri”) public void myTimer() { System.out.println(“Timer event: ” + new Date()); } } “..将EJB Timer Service的Timer DataSource设置设置为有效的JDBC资源..” 来自EJB计时器服务 我无法弄清楚如何正确配置Timer Datasource? 部署时出现的错误是: SEVERE: Exception while invoking class […]

具有实例变量的无状态会话bean

我有一个无状态会话bean,它包含一个公共方法,几个私有方法和一些实例级变量。 下面是一个伪代码示例。 private int instanceLevelVar public void methodA(int x) { this.instanceLevelVar = x; methodB(); } private void methodB() { System.out.println(instanceLevelVar); } 我所看到的是,methodB正在打印未传递给MethodA的值。 最好我可以告诉它从同一个bean的其他实例打印值。 什么会导致这个? 我应该指出代码99.9%的时间按预期工作。 但是,。01%对我来说是一个严重的问题/担忧。 我明白,如果我有不同的公共方法,那么我可能不会在调用之间获得相同的bean,这会导致这种行为。 但是,在这种情况下,唯一的调用是单个公共方法。 容器(在这种情况下是Glassfish)是否仍会在私有方法调用之间交换bean? (编辑)我将“类级别”重命名为“实例级别”,因为这引起了一些混乱。

如何将DataSource绑定到InitialContext以进行JUnit测试?

我正在尝试对数据库“worker”类运行JUnit测试,这些类在InitialContext上执行jndi查找以获取DataSource 。 工作类通常在Glassfish v3 App Server上运行,该服务器定义了适当的jdbc资源。 代码在App Server上部署时运行得很好,但是没有从JUnit测试环境运行,因为很明显它找不到jndi资源。 所以我尝试在测试类中设置一个InitialContext,它将数据源绑定到适当的上下文,但它不起作用。 这是我在测试中的代码 @BeforeClass public static void setUpClass() throws Exception { try { // Create initial context System.setProperty(Context.INITIAL_CONTEXT_FACTORY, “org.apache.naming.java.javaURLContextFactory”); System.setProperty(Context.URL_PKG_PREFIXES, “org.apache.naming”); InitialContext ic = new InitialContext(); ic.createSubcontext(“java:”); ic.createSubcontext(“java:/comp”); ic.createSubcontext(“java:/comp/env”); ic.createSubcontext(“java:/comp/env/jdbc”); // Construct DataSource SQLServerConnectionPoolDataSource testDS = new SQLServerConnectionPoolDataSource(); testDS.setServerName(“sqlserveraddress”); testDS.setPortNumber(1433); testDS.setDatabaseName(“dbname”); testDS.setUser(“username”); testDS.setPassword(“password”); ic.bind(“java:/comp/env/jdbc/TestDS”, testDS); DataWorker dw = […]

SimpleFormatter忽略java.util.logging.SimpleFormatter.format属性

我在GlassFish 4上使用java.util.logging。 我通过定义System属性来定义我自己的类来初始化LogManager : -Djava.util.logging.config.class 。 我的类加载logging.properties文件,将其与其他属性文件合并,并进行一些自定义替换。 以下是我的logging.properties文件的相关部分: java.util.logging.FileHandler.pattern=C:/Work/server/glassfish/domains/domain1/logs/JMSFileHandler%g.log java.util.logging.FileHandler.limit=2000000 java.util.logging.FileHandler.count=20 java.util.logging.FileHandler.append=true java.util.logging.FileHandler.level=ALL java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter java.util.logging.SimpleFormatter.format=%1$tY:%1$tm:%1$td %1$tH:%1$tM:%1$tS|%4$s: %2$s%n%5$s%n%6$s%n 我正在使用标准的FileHandler并将其配置为使用SimpleFormatter作为格式化程序。 但java.util.logging.SimpleFormatter.format字符串被完全忽略。 相反,SimpleFormatter使用其默认格式。 我哪里做错了?

正确配置Glassfish SSL证书昵称的方法?

Glassfish允许通过其管理控制台设置SSL证书昵称,如下图所示: 但是,几乎Web中的每个教程都提到有必要将所有出现的默认SSL昵称( s1as )替换为domain.xml文件中将使用的昵称(即mydomain.com )。 那么设置证书昵称的正确方法是什么?

什么是最好的java webservice框架?

我目前使用的是Apache Axis。 但是我在Intellij IDEA中创建了一个新项目,我可以选择添加以下内容之一: Apache Axis Glassfish / JAX-WS 2.x RI / Metro 1.x / JWSDP 2.0 宁静的Web服务 我选择Axis是因为它是我习惯的那个,但我仍然想知道它是否更容易。

Java EE服务器上的动态角色

我想在专用的应用程序中管理用户和角色。 例如,该应用程序的用户(“customerX boss”)可以创建新角色“customerX employee”。 如果员工访问Java EE应用程序服务器(GlassFish 3),他应该获得“customerX employee”角色。 这听起来很简单,但Java EE不支持它,因为组在启动时映射到角色,而应用程序中的角色是静态的。 在Java EE(6)环境中在运行时管理用户角色的最佳方法是什么?

Spring Boot App不会部署在Glassfish 4.1上

我有一个香草弹簧启动应用程序,由以下pom.xml组成 4.0.0 xxx.alexius myapp 1.0-SNAPSHOT war my app Core Application Platform org.springframework.boot spring-boot-starter-parent 1.2.2.RELEASE UTF-8 1.7 org.springframework.boot spring-boot-starter-data-jpa org.springframework.boot spring-boot-starter-data-mongodb org.springframework.boot spring-boot-starter-mobile org.springframework.boot spring-boot-starter-security org.springframework.boot spring-boot-starter-social-facebook org.springframework.boot spring-boot-starter-social-twitter org.springframework.boot spring-boot-starter-thymeleaf org.springframework.boot spring-boot-starter-web mysql mysql-connector-java runtime org.postgresql postgresql 9.4-1201-jdbc41 runtime org.springframework.boot spring-boot-starter-test test org.apache.maven.plugins maven-compiler-plugin 2.3.2 1.7 1.7 -Xlint:all true true 当我将它部署到Tomcat时,一切正常,但是当我尝试在Glassfish 4.1服务器上部署它时,我收到以下错误 SEVERE: Class [ […]

避免在glassfish上删除计时器

我有一个用@Schedule注释的方法,偶尔会被容器调用。 @Schedule(second = “*/5”, minute = “*”, hour = “*”, persistent = false) public void myTimerMethod() throws Exception { … } 问题是在某些条件下我希望此方法抛出exception以使正在进行的事务回滚。 但如果我执行此操作超过两次,计时器将被清除,不再调用! INFO: EJB5119:Expunging timer [’68@@1359143163781@@server@@domain1′ ‘TimedObject = MyBean’ ‘Application = My-War’ ‘BEING_DELIVERED’ ‘PERIODIC’ ‘Container ID = 89072805830524936’ ‘Fri Jan 25 21:49:30 CET 2013’ ‘0’ ‘*/5 # * # * # * # * […]