小编cde*_*zaq的帖子

使用Joda-Time有什么缺点吗?

我想说服架构经理在我们的产品中加入Joda-Time jar.

你知道使用它的任何缺点吗?

我认为Joda-Time需要不断更新,因为它包含的文件.这是一个缺点.也许我错了.

你能否澄清一下这个问题?

java jodatime

57
推荐指数
4
解决办法
2万
查看次数

以最短的停机时间部署Java Web应用程序的最佳实践?

部署大型Java webapp(> 100 MB .war)时,我目前使用以下部署过程:

  • 应用程序.war文件在开发计算机上本地扩展.
  • 扩展的应用程序是rsync:从开发机器到实时环境.
  • rsync之后重新启动实时环境中的应用服务器.这个步骤并不是严格需要的,但我发现在部署时重新启动应用程序服务器会因为经常加载类而避免出现"java.lang.OutOfMemoryError:PermGen space".

关于这种方法的好处:

  • rsync最大限度地减少了从开发机器发送到实时环境的数据量.上传整个.war文件需要十几分钟,而rsync需要几秒钟.

关于这种方法的坏事:

  • rsync正在运行时,应用程序上下文会在文件更新后重新启动.理想情况下,重新启动应在rsync完成后进行,而不是在它仍在运行时进行.
  • 应用服务器重启会导致大约两分钟的停机时间.

我想找到一个具有以下属性的部署过程:

  • 部署过程中停机时间最短.
  • 上传数据所花费的时间最少.
  • 如果部署过程是特定于应用程序服务器的,那么应用程序服务器必须是开源的.

题:

  • 根据规定的要求,最佳部署流程是什么?

java deployment grails resin tomcat

55
推荐指数
5
解决办法
2万
查看次数

用于文件上传的REST设计

我需要为文件上传服务创建一个REST API,允许用户:

  1. 打开一个会话
  2. 上传一堆文件
  3. 关闭会话

然后,回过头来处理他们在上一个会话中上传的文件.

为了便于处理有关每个文件的数据并处理文件本身的内容,这是我正在考虑使用的URI方案:

/sessions/
/sessions/3
/sessions/3/files
/sessions/3/files/5
/sessions/3/file/5/content
/sessions/3/file/5/metadata
Run Code Online (Sandbox Code Playgroud)

这将允许文件元数据与文件内容分开处理.在这种情况下,文件内容和文件元数据只允许GET ,并且要更新任何一个,新文件必须是PUT.

这有意义吗?如果没有,为什么以及如何更好?

rest api-design file-upload

55
推荐指数
1
解决办法
9万
查看次数

RESTful POSTS,你将对象POST到单数或复数Uri吗?

这些URI中的哪一个更适合接收POST(添加产品)?是否有最佳实践或仅仅是个人偏好?

/ product /(singular)

要么

/ products /(复数)

目前我们/products/?query=blah用于搜索/product/{productId}/单个产品的GETs PUT和DELETE.

rest restful-url

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

在log4j中配置RollingFileAppender

我正在研究一组Web服务,我们希望每天都有一个旋转日志.

我试图org.apache.log4j.rolling.RollingFileAppender从log4j extras伴侣工作,因为文档表明这是最适合生产环境.

我在类路径上有主要的log4J library(log4j-1.2.15.jar)和log4j extras library(apache-log4j-extras-1.1.jar).

我在log4j.properties文件中为appender配置了以下配置:

### SOAP Request Appender
log4j.appender.request=org.apache.log4j.rolling.RollingFileAppender
log4j.appender.request.File=SOAPmessages.log
log4j.appender.request.RollingPolicy=org.apache.log4j.rolling.TimeBasedRollingPolicy
log4j.appender.request.RollingPolicy.ActiveFileName =SOAPmessages-%d.log
log4j.appender.request.RollingPolicy.FileNamePattern=SOAPmessages-%d.log.zip
log4j.appender.request.layout = org.apache.log4j.PatternLayout
log4j.appender.request.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
Run Code Online (Sandbox Code Playgroud)

但是,当我在调试模式下使用log4j启动Web服务时,我收到以下错误消息:

log4j: Parsing appender named "request".
log4j: Parsing layout options for "request".
log4j: Setting property [conversionPattern] to [%d{ABSOLUTE} %5p %c{1}:%L - %m%n].
log4j: End of parsing for "request".
log4j: Setting property [file] to [/logs/SOAPmessages.log].
log4j:WARN Failed to set property [rollingPolicy] to value "org.apache.log4j.rolling.TimeBasedRollingPolicy". 
log4j:WARN Please set …
Run Code Online (Sandbox Code Playgroud)

java logging log4j

40
推荐指数
3
解决办法
13万
查看次数

Groovy:从给定的字符集生成随机字符串

使用Groovy,我想从给定的正则表达式生成一个随机的字符序列.

  • 允许的字符是: [A-Z0-9]
  • 生成序列的长度:9

例: A586FT3HS

但是,我找不到任何可以帮助我的代码片段.如果使用正则表达式太复杂,我可以手动定义允许的字符集.

string random groovy

40
推荐指数
4
解决办法
5万
查看次数

Jersey REST服务上的用户身份验证

我正在开发一个使用Jersey框架的REST应用程序.我想知道如何控制用户身份验证.我搜索了很多地方,我发现的最接近的文章是:http://weblogs.java.net/blog/2008/03/07/authentication-jersey.

但是,本文只能与GlassFish服务器和附加数据库一起使用.无论如何我可以在Jersey中实现一个接口并在到达请求的REST资源之前将其用作过滤器吗?

我现在想要使用基本身份验证,但它应该足够灵活,以便我可以在以后更改它.

java authentication http jersey

39
推荐指数
2
解决办法
6万
查看次数

codahale的"指标"的其他开源替代品?

我从codahale那里看到了指标项目,我相信它在Yammer上使用过.我喜欢这个解决方案,但想知道是否有其他具有类似功能的开源替代品.

java monitoring metrics jmx yammer

39
推荐指数
3
解决办法
2万
查看次数

何时使用键值数据存储与更传统的关系数据库?

何时可以在关系数据库上选择键值数据存储?决定一方或另一方需要考虑哪些因素?什么时候混合最好的路线?如果可以,请提供示例.

database key-value relational-database

38
推荐指数
3
解决办法
2万
查看次数

将键作为字符串映射并将值作为列表在Groovy中映射

任何人都可以向我指出一个如何Map在Groovy中使用a的一个例子,它有一个Stringas键和一个List值?

groovy map

38
推荐指数
5
解决办法
11万
查看次数