我想说服架构经理在我们的产品中加入Joda-Time jar.
你知道使用它的任何缺点吗?
我认为Joda-Time需要不断更新,因为它包含的文件.这是一个缺点.也许我错了.
你能否澄清一下这个问题?
部署大型Java webapp(> 100 MB .war)时,我目前使用以下部署过程:
关于这种方法的好处:
关于这种方法的坏事:
我想找到一个具有以下属性的部署过程:
题:
我需要为文件上传服务创建一个REST API,允许用户:
然后,回过头来处理他们在上一个会话中上传的文件.
为了便于处理有关每个文件的数据并处理文件本身的内容,这是我正在考虑使用的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.
这有意义吗?如果没有,为什么以及如何更好?
这些URI中的哪一个更适合接收POST(添加产品)?是否有最佳实践或仅仅是个人偏好?
/ product /(singular)
要么
/ products /(复数)
目前我们/products/?query=blah用于搜索/product/{productId}/单个产品的GETs PUT和DELETE.
我正在研究一组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) 使用Groovy,我想从给定的正则表达式生成一个随机的字符序列.
[A-Z0-9]例: A586FT3HS
但是,我找不到任何可以帮助我的代码片段.如果使用正则表达式太复杂,我可以手动定义允许的字符集.
我正在开发一个使用Jersey框架的REST应用程序.我想知道如何控制用户身份验证.我搜索了很多地方,我发现的最接近的文章是:http://weblogs.java.net/blog/2008/03/07/authentication-jersey.
但是,本文只能与GlassFish服务器和附加数据库一起使用.无论如何我可以在Jersey中实现一个接口并在到达请求的REST资源之前将其用作过滤器吗?
我现在想要使用基本身份验证,但它应该足够灵活,以便我可以在以后更改它.
我从codahale那里看到了指标项目,我相信它在Yammer上使用过.我喜欢这个解决方案,但想知道是否有其他具有类似功能的开源替代品.
何时可以在关系数据库上选择键值数据存储?决定一方或另一方需要考虑哪些因素?什么时候混合最好的路线?如果可以,请提供示例.
任何人都可以向我指出一个如何Map在Groovy中使用a的一个例子,它有一个Stringas键和一个List值?
java ×5
groovy ×2
rest ×2
api-design ×1
database ×1
deployment ×1
file-upload ×1
grails ×1
http ×1
jersey ×1
jmx ×1
jodatime ×1
key-value ×1
log4j ×1
logging ×1
map ×1
metrics ×1
monitoring ×1
random ×1
resin ×1
restful-url ×1
string ×1
tomcat ×1
yammer ×1