我今天意识到我不知道如何在C#的评论中转义字符.我想记录一个通用的C#类,但我不能写一个正确的例子,因为我不知道如何转义<
和>
字符.我一定要使用<
和>
?我不喜欢,如果是这样的话,因为我希望能够轻松阅读实际文档中的注释,因此我不必生成某种代码文档以便能够阅读示例代码.
有没有一种简单的方法可以在Spring 3.1中从自动装配中排除包/子包?
例如,如果我想在基础包中包含组件扫描,com.example
是否有一种简单的排除方法com.example.ignore
?
(为什么?我想从集成测试中排除一些组件)
我正在尝试构建一个带有嵌入式Jetty的简单演示应用程序,该应用程序提供来自"html"目录的静态文件,该目录是当前工作目录的子目录.我们的想法是,包含演示jar和内容的目录可以移动到新位置并仍然有效.
我尝试过以下各种变体,但我一直在使用404.
ServletContextHandler context =
new ServletContextHandler(ServletContextHandler.SESSIONS);
context.setContextPath("/");
context.getInitParams().put(
"org.eclipse.jetty.servlet.Default.resourceBase", "html");
context.addServlet(new ServletHolder(new DefaultServlet()), "/html");
Server jetty = new Server(8080);
jetty.setHandler(context);
jetty.start();
Run Code Online (Sandbox Code Playgroud)
更新:这是Jetty教程中记录的解决方案.如正确答案所述,它使用的是a ResourceHandler
而不是ServletContextHandler
:
Server server = new Server();
SelectChannelConnector connector = new SelectChannelConnector();
connector.setPort(8080);
server.addConnector(connector);
ResourceHandler resource_handler = new ResourceHandler();
resource_handler.setDirectoriesListed(true);
resource_handler.setWelcomeFiles(new String[]{ "index.html" });
resource_handler.setResourceBase(".");
HandlerList handlers = new HandlerList();
handlers.setHandlers(new Handler[] { resource_handler, new DefaultHandler() });
server.setHandler(handlers);
server.start();
server.join();
Run Code Online (Sandbox Code Playgroud) 我想换我周围的TPL,新的头async
/ await
在C#5的特性,和的奥秘TaskCompletionSource
.
有一件事情是我不明白是什么时候使用SetResult
,SetException
以及SetCancel
与TrySetResult
,TrySetException
和TrySetCancel
.
这就是MSDN所说的:
如果任务已经处于以下三种最终状态之一,则此操作将返回false:RanToCompletion,Faulted或Cancelled.
如果已经处理了基础Task,则此方法也返回false.
好吧,我明白了,但它并没有真正提供关于何时或为何使用其中一个的指导.
那么,这笔交易是什么?
我意识到像Morphia和Hibernate这样的持久性框架依赖于域对象上的注释来实现它们的魔力.在某种程度上,在我看来,这是在域层中插入持久性问题,这是我们应该努力避免的.
这可能是我应该尝试使用外部配置文件或域模型中的单独DTO来避开的东西吗?或者,持久性和域层之间的这种小漏洞通常被认为是可接受的吗?
我正在尝试将日志记录级别设置为DEBUG
嵌入式Jetty实例.
http://docs.codehaus.org/display/JETTY/Debugging上的文档说 -
在调用new org.mortbay.jetty.Server()之前调用SystemProperty.set("DEBUG","true").
我不确定这个SystemProperty
课是什么,似乎没有记录在任何地方.我试过了System.setProperty()
,但那并没有成功.
我正在尝试使用MongoDB的Java驱动程序在同一操作中对记录进行两次更新($ set和$ push).我使用的代码类似于以下内容:
BasicDBObject pushUpdate = new BasicDBObject().append("$push", new BasicDBObject().append("values", dboVital));
BasicDBObject setUpdate = new BasicDBObject().append("$set", new BasicDBObject().append("endTime", time));
BasicDBList combinedUpdate = new BasicDBList();
combinedUpdate.add( pushUpdate);
combinedUpdate.add( setUpdate);
collection.update( new BasicDBObject().append("_id", pageId), combinedUpdate, true, false);
Run Code Online (Sandbox Code Playgroud)
当我通过BasicDBList将$ set和$ push组合到同一个更新中时,我得到一个IllegalArgumentException:"存储在db中的字段不能以'$'开头(Bad Key:'$ push')".
如果我进行两次单独的更新,则pushUpdate和setUpdate都会生成有效结果.
谢谢!
在使用JSON资源构建RESTful/hypermedia API时,我似乎有两种选择来指定资源之间的超媒体关系.
将链接嵌入JSON文档的正文中.这里的问题是没有用于指定超链接的标准化语法,尽管我看到了许多努力:( HAL,Collection + JSON,JSON-LD,JSON Schema等等).
使用HTTP链接头.这是标准化的,因此这似乎比嵌入式链接更具优势.客户只是了解如何理解标准标题和瞧,超媒体的好处是实现的.
所以,特别是在处理JSON资源的上下文中,这是要走的路,为什么?
我正在编写一个嵌入Jetty w/Jersey的服务器.当我从Eclipse执行时,一切都很棒.但是,如果我使用Maven的程序集将我的服务器和所有依赖项组装到一个jar中:单个目标,我会得到一个例外:
Sep 26, 2012 5:35:59 PM com.sun.jersey.spi.container.ContainerResponse write
SEVERE: A message body writer for Java class com.acme.server.webservice.
exception.WebServiceFailure, and Java type class com.acme.server.webserv
ice.exception.WebServiceFailure, and MIME media type application/json was not fo
und
Sep 26, 2012 5:35:59 PM com.sun.jersey.spi.container.ContainerResponse write
SEVERE: The registered message body writers compatible with the MIME media type
are:
*/* ->
com.sun.jersey.server.impl.template.ViewableMessageBodyWriter
17:35:59.372 [qtp184245201-22 - /] ERROR o.a.h.ReflectorServletProcessor - onReq
uest()
javax.ws.rs.WebApplicationException: com.sun.jersey.api.MessageException: A mess
age body writer for Java class com.acme.server.webservice.exception.WebS
erviceFailure, and Java …
Run Code Online (Sandbox Code Playgroud) 今天早上Maven开始抱怨这个错误:
error: multi-catch statement is not supported in -source 1.5
奇怪的是,我正在使用JDK 7,这段代码已经好几周了.我只是使用m2e和默认的POM,没有指定编译器版本.
这是我的Maven版本信息:
Apache Maven 3.0.2 (r1056850; 2011-01-08 19:58:10-0500)
Java version: 1.7.0_03, vendor: Oracle Corporation
Java home: C:\SDKs\Java\jdk1.7.0_03\jre
Default locale: en_US, platform encoding: Cp1252
OS name: "windows 7", version: "6.1", arch: "amd64", family: "windows"
Run Code Online (Sandbox Code Playgroud)
我可以使用像这样的Maven编译器插件来解决它:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.4</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
不过,我想了解为什么Maven会突然开始行为不端并要求使用编译器插件.
java ×5
c# ×2
jetty ×2
maven ×2
annotations ×1
async-await ×1
asynchronous ×1
autowired ×1
c#-5.0 ×1
hibernate ×1
http ×1
http-headers ×1
jar ×1
jersey ×1
json ×1
mongo-java ×1
mongodb ×1
morphia ×1
rest ×1
slf4j ×1
spring ×1
web-services ×1