gpt4 book ai didi

java - Spring 3.X Java 7 线程安全日期/数字格式注入(inject)

转载 作者:行者123 更新时间:2023-12-02 07:51:18 27 4
gpt4 key购买 nike

大家好,谁能帮帮我。我目前有一个服务类,我可能必须在多线程应用程序中使用它,任何人都可以帮助我使用 spring IOC 使我使用的格式类成为线程安全的。

这是一个代码片段

@Configuration
@EnableTransactionManagement(mode=AdviceMode.ASPECTJ)
public class MyConfig
{
...
@Bean
public DateFormat dateFormatMMddyyyy()
{
return new SimpleDateFormat("MM/dd/yyyy");
}
...
}

@Component("myServiceComponent")
public class MyServiceComponent5
{
@Autowired
private DateFormat dateFormatMMddyyyy; //HEY Fix Me!!

...

public void sampleProcess(Date date)
{

String formatedDate = dateFormatMMddyyyy.format(date);

// do usefull stuffn here

}
}

@Service("MyService")
{
@Autowired
private MyServiceComponent5 myServiceComponent5;

public doMultiThreadProcess(Date date)
{
// not sure how to do this yet and probably gona ask on a different thread. =\
// Currently more concern on how to set up MyServiceComponent5
...
myServiceComponent5.sampleProcess(date);
...
}

}

如果我做错了什么,有人可以评论吗?最近,我刚刚读到 Number/DateFormat 类不是线程安全的,因此我必须将它们放在方法中或使用 threadlocal。任何人都可以帮助我修改我的类,以便我可以使用第二个选项( Spring 方式)。

顺便说一句,如果您需要任何说明或其他信息,请告诉我。对设计的评论也将受到赞赏。

请注意,代码只是一个示例,但它描述了我当前正在做的事情。此外,如果桌面应用程序对当前问题有任何影响,这将用于桌面应用程序。

正在使用的框架将是 Spring 3.1、Java 7 和 hibernate。

最后,提前感谢您,我们将非常感谢您提供代码片段。

最佳答案

就您的日期格式需求而言,JODAdate/time formatters是线程安全的。 Spring MVC 也默认支持该库:

With this one-line of configuation, default formatters for Numbers and Date types will be installed, including support for the @NumberFormat and @DateTimeFormat annotations. Full support for the Joda Time formatting library is also installed if Joda Time is present on the classpath.

Source

关于java - Spring 3.X Java 7 线程安全日期/数字格式注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10203280/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com