小编Lio*_*orH的帖子

如何在mongodb中更新多个数组元素

我有一个Mongo文档,其中包含一系列元素.

我想重置.handled数组中所有对象的属性.profile= XX.

该文件采用以下形式:

{
    "_id": ObjectId("4d2d8deff4e6c1d71fc29a07"),
    "user_id": "714638ba-2e08-2168-2b99-00002f3d43c0",
    "events": [{
            "handled": 1,
            "profile": 10,
            "data": "....."
        } {
            "handled": 1,
            "profile": 10,
            "data": "....."
        } {
            "handled": 1,
            "profile": 20,
            "data": "....."
        }
        ...
    ]
}
Run Code Online (Sandbox Code Playgroud)

所以,我尝试了以下内容:

.update({"events.profile":10},{$set:{"events.$.handled":0}},false,true)
Run Code Online (Sandbox Code Playgroud)

但是,它仅更新每个文档中第一个匹配的数组元素.(这是$的定义行为- 位置运算符.)

如何更新所有匹配的数组元素?

arrays mongodb mongodb-query

171
推荐指数
9
解决办法
10万
查看次数

为什么不鼓励在Java EE容器中生成线程?

我学到的关于Java EE开发的第一件事就是我不应该在Java EE容器中生成我自己的线程.但是当我开始思考它时,我不知道原因.

你能清楚地解释为什么气馁吗?

我相信大多数企业应用程序都需要某种异步工作,如邮件守护进程,空闲会话,清理工作等.

因此,如果确实不应该生成线程,那么在需要时执行它的正确方法是什么?

java multithreading java-ee

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

JUnit:如何在test utils类中避免"没有runnable方法"

我已经从JUnit3.8切换到JUnit4.4.我使用ant运行我的测试,所有测试都成功运行,但测试实用程序类失败并显示"No runnable methods"错误.我使用的模式是在测试文件夹下包含名称为*Test*的所有类.

我知道跑步者找不到任何用@Test属性注释的方法.但是它们不包含这样的注释,因为这些类不是测试.令人惊讶的是,当在eclipse中运行这些测试时,它并没有抱怨这些类.

在JUnit3.8中,它根本不是问题,因为这些实用程序类没有扩展TestCase,所以跑步者没有尝试执行它们.

我知道我可以在ant脚本中的junit目标中排除这些特定的类.但我不想在我添加的每个新实用程序类上更改构建文件.我也可以重命名课程(但是给课程好名字总是我最弱的人才:-))

这个问题有没有优雅的解决方案?

java ant testing junit

114
推荐指数
7
解决办法
11万
查看次数

使用aop对性能的影响

我们已经开始使用spring aop来实现我们应用程序的交叉切割(目前的安全性和缓存).

我的经理担心这项技术对性能的影响,尽管他完全理解这些技术带来的好处.

我的问题,您是否遇到过使用aop(特别是spring aop)引入的性能问题?

performance aop spring spring-aop

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

Eclipse Web项目依赖项

这个问题是关于Eclipse开发的,我试图在Eclipse中创建一个Web应用程序,问题是我没有将依赖关系jar放到已部署的存档中.

我创建了一个新的动态Web项目并将其链接到另一个Java项目.Java项目引用了一些第三方jar(例如Spring jar)但由于某些原因,在发布web项目时,我只获得了战争的lib目录中的Java项目jar,没有Java项目依赖项(例如Spring).

换句话说,我有项目A(Web项目),它依赖于项目B(Java项目),项目B依赖于Spring jar.当我将Web项目作为战争发布到JBoss时,只将项目B打包到jar中(没有弹簧罐)

我知道我可以用蚂蚁来做,我甚至有这样build.xml的构建整个应用程序,但我认为eclipse也可以为我执行打包任务.

我将Java项目添加到Web项目中的Java EE模块依赖项中.

我应该在Java项目构建路径属性中使用导出选项吗?我是否应该将Java项目的依赖项添加到Web项目中?

我究竟做错了什么?

编辑:我正在使用Eclipse 3.5.1

java eclipse java-ee web-project

25
推荐指数
1
解决办法
3万
查看次数

使用ant运行"纯"JUnit 4测试

我们已经迁移到JUnit 4和ant 1.7

测试在eclipse中运行良好,但在使用ant运行测试时会忽略注释.

根据Ant junit任务文档:

它也适用于JUnit 4.0,包括仅使用注释而不使用JUnit4TestAdapter的"纯"JUnit 4测试.

但是文档没有详细说明应该如何配置它.

junit任务是否需要特殊设置?我错过了什么吗?我们有两个测试扩展TestCase(即3.8样式)和"纯"Junit 4测试,这可能是问题吗?

ant junit junit4

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

Spring上下文文件组织和最佳实践

我们已经开始在我的项目中使用Spring框架.在熟悉基本功能(IoC)之后,我们也开始使用弹簧和弹簧安全性.

问题是我们现在有超过8个不同的上下文文件,我觉得我们没有充分考虑这些文件及其角色的组织.随着项目的发展,引入了新文件.我们有不同的上下文文件:元数据,aop,授权,服务,Web资源(它是一个RESTful应用程序).因此,当开发人员想要添加新bean时,并不总是清楚他应该添加哪个文件.我们需要方法论.

问题:

Spring文件组织是否有最佳实践?

上下文文件是否应封装层(DAL,业务逻辑,Web)或用例?还是流量?

java spring java-ee

21
推荐指数
3
解决办法
1万
查看次数

改善JBoss 5缓慢启动

我们从JBoss 4(和JDK 5)升级到JBoss 5(和JDK 6).问题是开始时间从1.5分钟(在JBoss 4上)变为超过4分钟.

18:53:35,444 INFO  [ServerImpl] JBoss (Microcontainer) [5.1.0.GA (build: SVNTag=JBoss_5_1_0_GA date=200905221053)] Started in 3m:9s:262ms
Run Code Online (Sandbox Code Playgroud)

似乎JBoss最长时间初始化的组件是JMX

18:50:41,926 INFO  [LogNotificationListener] Adding notification listener for logging mbean "jboss.system:service=Logging,type=Log4jService" to server org.jboss.mx.server.MBeanServerImpl@1adc122[ defaultDomain='jboss' ]
18:52:38,797 INFO  [JMXConnectorServerService] JMX Connector server: service:jmx:rmi://lharel2/jndi/rmi://lharel2:1090/jmxconnector
Run Code Online (Sandbox Code Playgroud)

从DEBUG服务器日志中,我在有问题的时间得到这些行:

2009-12-18 18:51:00,886 DEBUG [org.jboss.deployment.MappedReferenceMetaDataResolverDeployer] (main) vfsfile:/C:/QC/Views/QCDev/jboss-5.1.0.GA/server/default/deploy/jmx-console.war/ endpoint mappings:
2009-12-18 18:51:00,886 DEBUG [org.jboss.deployment.MappedReferenceMetaDataResolverDeployer] (main) Processing unit=jmx-console.war, structure: jmx-console.war
2009-12-18 18:52:35,209 DEBUG [org.jboss.deployment.OptAnnotationMetaDataDeployer] (main) Deployment is metadata-complete, skipping annotation processing, ejbJarMetaData=null, jbossWebMetaData=org.jboss.metadata.web.spec.Web23MetaData@1f, jbossClientMetaData=null, metaDataCompleteIsDefault=false
Run Code Online (Sandbox Code Playgroud)

项目中没有EJB.

内存设置为:

 -Xms128m -Xmx512m -XX:MaxPermSize=256m
Run Code Online (Sandbox Code Playgroud)

你知道如何改善JBoss的开始时间吗? …

java jboss jboss5.x

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

RESTful URL设计 - 如何使用参数之间的OR进行查询

您将如何设计RESTful查询以支持参数之间的OR操作数.假设我的资源有两个字段field1和field2.您将如何设计URL以启用以下查询:

"获取myresources where field1 = x OR field2 = y"

在REST中设计查询非常简单,但我只看到了查询字段之间支持AND的查询.例如/ myresource?field1 = x&field2 = y

一种可能的解决方案是提供单个查询参数,其中包含自由文本部分,例如:

GET/myresource?q = {field1 = x OR field2 = y}

但这会使客户端解析和扩展或减少过滤字段变得更加复杂.

你有什么建议?

rest

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

mongodb - 如果不存在则创建doc,否则推送到数组

我有一份以下表格的文件:

{
"_id" : ObjectId("4d2d8deff4e6c1d71fc29a07"),
"user_id" : "714638ba-2e08-2168-2b99-00002f3d43c0",
"events" : [
        {
                "profile" : 10,
                "data" : "....."
        }
        {
                "profile" : 10,
                "data" : "....."
        }
        {
                "profile" : 20,
                "data" : "....."
        }
        ...
   ]
 }
Run Code Online (Sandbox Code Playgroud)

我想upsert发表一些声明.它需要一个添加eventevents阵列user_id中的情况下,已经有这样的文档存在,否则就需要创建与该文档event项.

可以这样做吗?

arrays upsert mongodb

12
推荐指数
1
解决办法
9929
查看次数