Tag: java ee

我如何知道何时取消部署Java EE应用程序?

我取消部署Java EE应用程序时需要关闭一些流,以避免每次取消部署时在server.log中出现exception页面。 例外说:“输入流已经完成或强制关闭而未明确关闭”。 我知道如何关闭(使用close()方法),但我不知道什么时候。 finallize()来得太晚,@ PreDestroy不仅在取消部署之前被调用,而且在正常操作模式下也被调用。 应用程序在取消部署时如何知道? 编辑:我在创作过程中调用它: decisionLogger = KnowledgeRuntimeLoggerFactory.newThreadedFileLogger( ksession, config.getString(“rules.logfilename”), config.getInt(“rules.loginterval”)); decisionLogger的类型为KnowledgeRuntimeLogger,它只有close()方法。 在引擎盖下工作的线程没有吸气剂。 要轻轻关闭它,我需要调用close方法,但什么时候?

使用Jersey 1.x自定义注释注入

我正在使用jersey1.9.1。 我有rest方法,如下所示,Authorization标头包含编码凭据,如用户名和密码,并在方法中解析并映射本地值。 @PUT @Path(SystemConstants.REST_MESSAGE_SENDSMS) @Consumes(MediaType.APPLICATION_JSON) @Produces({MediaType.APPLICATION_JSON}) public Response sendSms(@HeaderParam(“Authorization”) String authorization, String param) { String[] credentials = ImosUtils.getUserCredentials(authorization); String username = credentials[0]; String password = credentials[1]; } 我试图设计一种自动生成此过程的方法,而无需在每个方法中编写相同的解析代码。 我的意思是我想知道是否编写了一个特殊的注释,如HeaderParamExtended用于解析此凭据。 我使用泽西1.9.1版作为restapi。 我必须在那个生命周期中编辑一个类? @PUT @Path(SystemConstants.REST_MESSAGE_SENDSMS) @Consumes(MediaType.APPLICATION_JSON) @Produces({MediaType.APPLICATION_JSON}) public Response sendSms(@HeaderParamExtended(“Authorization”,”username”) String username, @HeaderParamExtended(“Authorization”,”password”) String password, , String param) { }

使用logback日志记录配置glassfish嵌入式服务器

有没有办法配置Glassfish嵌入式服务器进行第三方日志框架测试 – 特别是Logback(或)LOG4j。 注意:Glassfish嵌入式服务器用于对EJB Bean进行unit testing。

如何在JSP页面中有条件地显示div的内容而不是另一个div?

我是JSP开发的新手,我有以下疑问。 如果进入JSP页面,我有2个这样的div : SUCCESS FAILURE 并且我必须根据放入Http Session的状态变量的值只显示这些div中的一个,它只能有2个值: OK和KO 。 我可以这样做: { %> SUCCESS FAILURE 有用? 可以吗? 或者有更好的方法来完成这项任务? (也许我可以使用JavaScript \ JQuery做这样的事情吗?)

如何在Spring和EJB中使用相同的事务?

我没有Spring的开发经验,因为我们是一个Java EE商店。 但是,我们正在寻找满足我们在Spring上运行的需求的解决方案,并且应该集成我们现有的Java EE解决方案。 在阅读Spring 3.0.5文档之后,我仍然不确定如何将事务从Spring传播到EJB。 例如,一个Spring bean会创建一个事务,将一些东西保存到一个数据库中,然后将事务移交给我们的一个无状态会话bean,它们(使用JPA)将一些其他东西保存到另一个数据库中。 并且所有这些必须在同一事务下运行,该事务在控件返回到Spring bean时提交。 另外,我不清楚部署:Spring是否在包含会话bean的EAR中作为webapp运行?

在J2ee应用程序上为DAO编写测试用例

我试图在J2EE应用程序中为我的DAO类编写一些测试用例。 我的DAO类中的方法尝试基于JDBC URL(位于应用服务器上)与数据库建立连接。 所以从前端如果我点击一堆东西并使DAO触发它运行正常。 但是,当我为DAO编写测试用例并且DAO对象调用该方法时,它无法获得与数据库的连接。 我认为,因为JDBC资源在App服务器上,这就是为什么它不能从测试类中运行。 因为当我运行我的测试而不是传递或失败时..返回一堆错误。 有人遇到过这个问题吗? 我该怎么做才能克服这个问题? 例: public class DBConnectionManager { public static final String DB_URL = “jdbc/RSRC/my/connection/mydb” public Connection getconnection () { DataSource ds = ServiceLocator.getInstance().getDataSource(DB_URL); return ds.getconnection(); } } public class MyDAO extends DBConnectionManager { publci SomeBean getContents (String id) { Connection con = getConnection(); CallableStatement cs = con.prepareCall(“{call myStorProc(?)}”); […]

如何使用spring security使用空密码进行基本身份validation?

我正在使用spring security(2.0.6)来执行HTTP BASIC身份validation。 我编写了一个自定义身份validation提供程序类,用于根据我的数据库validation用户名和密码。 我遇到的问题是有些用户没有密码。 这些用户收到“拒绝访问”消息。 我调试了代码,发现当用户的密码为空时,我的自定义身份validation提供程序不会被调用。 有谁知道怎么解决这个问题? 我需要允许一些用户使用空白密码。

filter映射中的无效

我有一个@POSTrest方法,我想为它做过滤,所以只有登录在应用程序中的人才能访问它。 这是我的@POST方法: @POST @Path(“/buy”) public Response buyTicket(@QueryParam(“projectionId”) String projectionId, @QueryParam(“place”) String place){ Projection projection = projectionDAO.findById(Long.parseLong(projectionId)); if(projection != null){ System.out.println(projection.getMovieTitle()); System.out.println(place); projectionDAO.buyTicket(projection, userContext.getCurrentUser(), place); } return Response.noContent().build(); } 这是我为这种方法编写的filter: @WebFilter(“rest/projection/buy”) public class ProtectedBuyFunction implements Filter { @Inject UserContext userContext; public void init(FilterConfig fConfig) throws ServletException { } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) […]

如何使用LDAP,应用程序,第三方应用程序等进行身份validation

我们将在java中创建一个Web应用程序。 对于用户身份validation,目前我们使用LDAP。 但我们希望有一些其他选项,如应用程序级别身份validation(来自数据库),gmail,facebook等。 与登录页面上的堆栈溢出有些类似。 我们将维护一个属性文件,该文件将包含所有可用的身份validation选项,如LDAP,facebook,gmail等。 如果我们想要再添加一个身份validation服务,我们会将其添加到此属性文件中,然后我们将需要添加帮助文件,这将执行身份validation的实际工作。 这应该是高度可定制的。 我对此有以下问题, 1)最好的方法是什么? 2)如何进行谷歌,脸书等第三方认证? PS:当我们使用gmail等进行身份validation时,我们需要一些基本信息回到我们可以使用的应用程序。

Spring MVC +在建议之前检查安全性

我正在测试Spring AOP框架并提出以下问题。 我有以下代码: package danny.test.controllers; @Controller public class MyController{ @Autowired private DaoService service; @RequestMapping(value=”/save”,method = RequestMethod.POST) public String addUser(@Valid MyClass myClass, BindingResult result){ service.save(myClass); return “Ok”; } 我想在Advice方面之前创建以检查用户会话中的用户安全性。 @Aspect public class Profiler { @Pointcut(“execution(* danny.test.services.DaoServices.*.*(..))”) public void methods(){} @Before(“methods()”) public void checkSecurity() throws Throwable{ //check session if user is authenticated…. } } 我不知道该怎么做是取消执行DaoServices.save方法,如果用户未经过身份validation并导致控制器返回任何其他值而不是“ok”。 我可以做吗? 有人能指出我这样的例子吗? […]