小编sam*_*pot的帖子

某些jsp页面的间歇性Tomcat ClassNotFoundException

我们在apache后面有两个负载均衡的tomcat服务器.好几次,我们得到一个页面上500错误的报告.检查显示以下错误,但仅在其中一个tomcats上:

java.lang.ClassNotFoundException: org.apache.jsp.jsps.userLogin_jsp
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    etc...
Run Code Online (Sandbox Code Playgroud)

我已经尝试清除工作目录并编辑jsp页面,没有运气.唯一解决它的是tomcat重启,但显然我们需要在生产中避免这种解决方案.

有人解决过这个问题吗?我的搜索只找到了没有答案的问题,包括一个被解析为"适合我"的tomcat错误:https://issues.apache.org/bugzilla/show_bug.cgi?id = 30450

我真的很感激你的见解.以下是有关该项目的其他信息:

  • Apache的Tomcat的6.0.28
  • java 1.6
  • 行家
  • Spring 2.5(使用jstl重用MVC)

谢谢!

java apache jsp tomcat

11
推荐指数
1
解决办法
2321
查看次数

Joda时间转换'太快'

我们有一个应用程序,其中时机至关重要.我们使用joda进行时间转换并以UTC时间存储所有数据.我们已经生产了一段时间,并且everthing一直是完美的但是......

现在我们注意到在时间变化前几个小时发生的事件已经过早转换!实际上,保存到数据库的UTC时间会减少一个小时.

这是一个例子.我的活动发生在2010年11月6日@太平洋时间晚上9点,通常会保存为11/7/2010 @ 4am.但是,由于夏令时在7日结束(大概是凌晨2点),这个时间会被移动并存储为11/7/2010 @ 5am.

我们需要将DST更改记录,直到实际发生在太平洋标准时间太平洋标准时间太平洋标准时间的PST区域.我认为joda会处理这个问题,特别是因为它被吹捧为比java的默认功能有了很大改进.

您的任何反馈都会有所帮助,特别是如果您能在明天的时间变更之前将它发送给我们!之后它将是学术性的,但仍然是一个有用的讨论.

以下是我们用于执行时区更改并将结果作为常规Java日期对象获取的一些代码.

public Date convertToTimeZone(Date dt, TimeZone from, TimeZone to){
    DateTimeZone tzFrom = DateTimeZone.forTimeZone(from);
    DateTimeZone tzTo = DateTimeZone.forTimeZone(to);

    Date utc = new Date(tzFrom.convertLocalToUTC(dt.getTime(), false));
    Date convertedTime = new Date(tzTo.convertUTCToLocal(utc.getTime()));
    return convertedTime;
}
Run Code Online (Sandbox Code Playgroud)

编辑:以下评论的代码示例

public Date convert(Date dt, TimeZone from, TimeZone to) {
    long fromOffset = from.getOffset(dt.getTime());
    long toOffset = to.getOffset(dt.getTime());

    long convertedTime = dt.getTime() - (fromOffset - toOffset);
    return new Date(convertedTime);
}
Run Code Online (Sandbox Code Playgroud)

完整单元测试示例

package com.test.time;

import java.util.Calendar;
import java.util.Date;
import java.util.TimeZone;

import …
Run Code Online (Sandbox Code Playgroud)

java timezone utc jodatime

5
推荐指数
1
解决办法
3676
查看次数

在Spring 3中使用带有注释类的PropertyOverrideConfigurer

编辑:这里有一些解释为什么被接受的答案对我有用,可能对其他人来说可能是个问题.

在我的foo-app-servlet.xml中,我有这一行:

<context:component-scan base-package="com.foo.app" />
Run Code Online (Sandbox Code Playgroud)

当我之前使用spring2时,我的所有服务bean都来自applicationContext.xml,但现在它们直接被引入foo-app-servlet.xml.在我的项目中,servlet有自己的一组覆盖,因此我需要覆盖servlet覆盖文件而不是applicationContext覆盖文件.

覆盖时,如果你没有命名你的组件,那么它确实使用它的小写版本,所以要覆盖OrderService.foo,你这样做:

orderService.foo=bar
Run Code Online (Sandbox Code Playgroud)

结束编辑

我正在开发一个从spring 2.5升级到spring 3的项目,因此同时具有xml和基于注释的配置.我们以前使用PropertyOverrideConfigurer来更改不同环境中的属性,以取得巨大成功.我现在正在研究使用authorize.net的代码,我需要确保不从开发环境向他们发送任何内容.

为了实现这一点,我想用PropertyOverrideConfigurer覆盖我的'testMode'属性.这适用于通过xml配置的bean,但我无法弄清楚如何使用注释配置的类来完成它.

这是我在applicationContext.xml中的覆盖片段:

<bean class="org.springframework.beans.factory.config.PropertyOverrideConfigurer">
    <property name="location" value="file:${user.home}/override.properties" />
    <property name="localOverride" value="true" />
    <property name="ignoreResourceNotFound" value="true" />
</bean>
Run Code Online (Sandbox Code Playgroud)

这是具有我要覆盖的属性的类:

@Component
public class OrderService {
    private static Log logger = LogFactory.getLog(OrderService.class);

    @Autowired @Qualifier("OrderDAO") private OrderDAO orderDao;

    @Autowired private SiteManager siteManager;
    String authorizenetProperties = "classpath:authorizenet.properties";

    private Boolean testMode = false;

    public Boolean getTestMode() {
        return testMode;
    }

    public void setTestMode(Boolean testMode) {
        this.testMode = testMode;
    }

}
Run Code Online (Sandbox Code Playgroud)

我尝试了一些不起作用的东西:

com.foo.services.OrderService.testMode=true
OrderService.testMode=true …
Run Code Online (Sandbox Code Playgroud)

java spring spring-mvc

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

没有正确调用Spring @Valid验证器(Roo,Hibernate)

我成功地完成了一个新的roo项目,但是现在我遇到了验证工作登录页面的问题.在将控制传递给我的控制器之前,似乎验证器正在窒息.我从未有机会检查BindingResult.我在这里和网上检查了几个类似的问题,我的代码似乎符合他们正在做的事情.

首先提交表单时得到的错误(如果我通过验证,我没有收到错误消息).在这种情况下,我没有达到密码的最小长度:

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.validation.BindException: org.springframework.validation.BeanPropertyBindingResult: 1 errors
Field error in object 'loginUser' on field 'password': rejected value [b]; codes [Size.loginUser.password,Size.password,Size.java.lang.String,Size]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [loginUser.password,password]; arguments []; default message [password],50,5]; default message [Password must be between 1  and 50 characters long]
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:894)
    org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)
Run Code Online (Sandbox Code Playgroud)

我的实体验证设置如下:

public class LoginUser {

    @NotNull
    @NotEmpty
    private String username;

    @NotNull
    @NotEmpty(message = "Password must not be blank.")
    @Size(min = 5, max = 50, message = "Password must be between 1 " …
Run Code Online (Sandbox Code Playgroud)

validation spring spring-roo

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

Scala,@ ResseseBody和Map

我在spring3项目中尝试使用Scala,当我使用@ResponseBody返回地图时,我没有得到我期望的结果.我在java中包含了一个工作示例以及我在scala中的尝试

// This is Java
@RequestMapping(value="/pbx.admin", method=RequestMethod.GET)
public @ResponseBody Map<String, Object> getInfo2(HttpServletRequest request, Model model){
    Map<String, Object> map = new HashMap<String, Object>();
    map.put("pbx", "admin");
    map.put("method", "s");
    return map;
}
Run Code Online (Sandbox Code Playgroud)

java返回json并定义了pbx和方法,这正是我所期待的.

// This is Scala
@RequestMapping(value= Array("/pbx.admin"), 
  method=Array(RequestMethod.GET))
@ResponseBody
def getInfo2() = {
  Map("pbx" -> "admin", "method" -> "s")
}
Run Code Online (Sandbox Code Playgroud)

scala返回了不同的东西:

{
    empty: false,
    traversableAgain: true
}
Run Code Online (Sandbox Code Playgroud)

为了获取我的地图键/值,我需要做什么?

额外的功劳,是否有更好的'scala方式'来做到这一点?谢谢!

spring scala spring-mvc

2
推荐指数
2
解决办法
2928
查看次数

标签 统计

java ×3

spring ×3

spring-mvc ×2

apache ×1

jodatime ×1

jsp ×1

scala ×1

spring-roo ×1

timezone ×1

tomcat ×1

utc ×1

validation ×1