小编Luc*_*ano的帖子

5
推荐指数
1
解决办法
279
查看次数

WriteListener(servlet 3.1)语义

假设我正在写一大块数据HttpServletResponse.所以我的方法接收一个字节数组,我写它response.getOutputStream(),然后我释放线程.当我收到另一块数据时,我的方法将被唤醒,它将getOutputStream()再次写入.最后,我打电话给AsyncContext.complete().

现在,WriteListener.onWritePossible()规范说:

第一次可以写入数据时,容器将调用此方法.当且仅当ServletOutputStream上的isReady方法(如下所述)返回false时,容器才会调用onWritePossible方法.

似乎当容器调用此方法时,我已经需要在某处缓冲我的响应,因为onWritePossible()可能永远不会再次调用.所以,对于前面的例子,我需要在缓冲区中写入我收到的所有数据块(一个字节数组,如果缓冲区足够大,可能是一个临时文件),如果onWritePossible()在我的响应完成之前调用,那么应该怎样我做?阻止线程,直到我有我的所有响应数据?

java servlets servlet-3.1

5
推荐指数
1
解决办法
1018
查看次数

根据配置文件在Spring中加载属性文件

我有一个Spring 3.1应用程序。假设它具有包含以下内容的XML:

<context:property-placeholder location="classpath:somename.properties" />

<context:property-placeholder location="classpath:xxx.properties" />
Run Code Online (Sandbox Code Playgroud)

我希望始终加载some.properties(假设它存在),但是第二个占位符的xxx部分将根据活动的配置文件用某些名称替换。我已经试过了:

<beans profile="xx1">
    <context:property-placeholder location="classpath:xx1.properties" />
</beans>

<beans profile="xx2">
    <context:property-placeholder location="classpath:xx2.properties" />
</beans>
Run Code Online (Sandbox Code Playgroud)

此外,两个文件的属性均具有相同的键,但值不同。

但是它没有用,因为某些后来的Bean具有一个属性的占位符,该属性的键在xx1.properties(和xx2.properties)中定义,因此Spring抱怨说在应用程序上下文中找不到该键。

java spring

4
推荐指数
1
解决办法
9440
查看次数

将FreeMarker与Apache Sling一起使用

我正在使用内置Apache Sling的内容存储库(Adobe CQ5).我想使用FreeMarker而不是JSP来呈现网页.

为了实现这一点,我应该将OSGi Freemarker扩展上传到Sling,这可以在Sling源代码的贡献部分找到,或者我应该上传一个OSGi版本的Freemarker吗?两个jar都实现了接口javax.script.ScriptEngineFactory,所以我不知道要使用哪个,或者上传两者.

freemarker scriptengine sling aem

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

Iterator上的增强集合方法

是否可以使用Groovy提供的增强的Collections方法,比如findAllCollect with iterator(类java.util.Iterator)?

groovy

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