当我使用Java 8的新语法糖迭代一个集合时,例如
myStream.forEach(item -> {
// do something useful
});
Run Code Online (Sandbox Code Playgroud)
这不等同于下面的"旧语法"片段吗?
myStream.forEach(new Consumer<Item>() {
@Override
public void accept(Item item) {
// do something useful
}
});
Run Code Online (Sandbox Code Playgroud)
这是否意味着Consumer每次迭代集合时都会在堆上创建一个新的匿名对象?这需要多少堆空间?它有什么性能影响?这是否意味着我在迭代大型多级数据结构时应该使用旧样式for循环?
我正在尝试测试jsonPostgreSQL 9.3中的类型.
我在一个json名为data的表中调用了一列reports.JSON看起来像这样:
{
"objects": [
{"src":"foo.png"},
{"src":"bar.png"}
],
"background":"background.png"
}
Run Code Online (Sandbox Code Playgroud)
我想查询表中所有与'objects'数组中'src'值匹配的报告.例如,是否可以在数据库中查询匹配的所有报告'src' = 'foo.png'?我成功写了一个可以匹配的查询"background":
SELECT data AS data FROM reports where data->>'background' = 'background.png'
Run Code Online (Sandbox Code Playgroud)
但由于"objects"有一系列的价值观,我似乎无法写出有用的东西.是否可以在数据库中查询匹配的所有报告'src' = 'foo.png'?我查看了这些来源,但仍然无法得到它:
我也尝试过这样的事情,但无济于事:
SELECT json_array_elements(data->'objects') AS data from reports
WHERE data->>'src' = 'foo.png';
Run Code Online (Sandbox Code Playgroud)
我不是SQL专家,所以我不知道我做错了什么.
在bootstrap 2中,建议在表单中排列标签和只读文本字段的方法是什么.以下代码示例创建未对齐的字段:
<form class="form-horizontal">
<fieldset>
<legend>Sample</legend>
<div class="control-group">
<label class="control-label">Readonly Field</label>
<div class="controls">
Lorem Ipsum and then some
</div>
</div>
</fieldset>
</form>
Run Code Online (Sandbox Code Playgroud)
请注意,我可以使用自定义CSS解决此问题.那不是问题.这似乎很愚蠢,这不是内置的,所以我觉得我必须忽略一些东西.
是否有嵌入式PostgreSql,以便我们可以对PostgreSql驱动的应用程序进行单元测试?
由于PostgreSql有一些方言,因此最好使用嵌入式PostgreSql本身而不是其他嵌入式数据库.
嵌入式并不一定意味着它必须嵌入JVM进程中.它也不一定需要使用内存中持久性.它应该由依赖关系管理(Maven,Gradle)自动加载,这样Unit测试可以在每台机器上运行,而无需安装和配置本地PostgreSQL服务器.
我的控制器方法是返回a ModelAndView,但是还需要将cookie写回客户端.是否可以在Spring中完成?谢谢.
我使用Spring-Cloud-Netflix进行微服务之间的通信.假设我有两个服务,Foo和Bar,而Foo使用Bar的REST端点之一.我使用一个带注释的接口@FeignClient:
@FeignClient
public interface BarClient {
@RequestMapping(value = "/some/url", method = "POST")
void bazzle(@RequestBody BazzleRequest);
}
Run Code Online (Sandbox Code Playgroud)
然后我SomeService在Foo中有一个服务类,它调用了BarClient.
@Component
public class SomeService {
@Autowired
BarClient barClient;
public String doSomething() {
try {
barClient.bazzle(new BazzleRequest(...));
return "so bazzle my eyes dazzle";
} catch(FeignException e) {
return "Not bazzle today!";
}
}
}
Run Code Online (Sandbox Code Playgroud)
现在,为了确保服务之间的通信正常工作,我想构建一个测试,使用WireMock之类的东西,对一个假的Bar服务器发出真正的HTTP请求.测试应确保假设正确解码服务响应并报告SomeService.
public class SomeServiceIntegrationTest {
@Autowired SomeService someService;
@Test
public void shouldSucceed() {
stubFor(get(urlEqualTo("/some/url"))
.willReturn(aResponse()
.withStatus(204);
String result = someService.doSomething();
assertThat(result, is("so …Run Code Online (Sandbox Code Playgroud) 每次我们使用MongoDB删除大量数据时collection.remove(),这会使数据库变得非常慢,最终导致我们的Web服务器停机.我相信这是因为删除操作会将集合锁定更长的时间.
我们有一个查询,它为我们提供了我们想要删除的所有文档.但是查询不包含日期/时间字段,因此我们不能使用TTL索引.
有没有办法以某种方式删除数据,nice不时释放锁定?
使用elasticsearch 2.x,我使用以下代码启动嵌入式节点进行测试:
@Bean
public Node elasticSearchTestNode() {
return NodeBuilder.nodeBuilder()
.settings(Settings.settingsBuilder()
.put("http.enabled", "true")
.put("path.home", "elasticsearch-data")
.build())
.node();
}
Run Code Online (Sandbox Code Playgroud)
这不再编译.如何在5.x中启动嵌入式节点?
根据浏览器的不同,我对请求的编码有一些问题.
下面的转储显示FF和Chrome之间不同的标题(我删除了所有相同的标题).查看"搜索"值的表示:
Firefox:好的
Accept-Language: es-ar,es;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Content-Type: application/json;charset=utf-8
POST: {"data":{"size":10,"search":"José","order":"name","page":1}}
Run Code Online (Sandbox Code Playgroud)
Chrome:不行
Pragma: no-cache
Cache-Control: no-cache
Origin: http://localhost
Content-Type: application/json;charset=UTF-8
Accept-Encoding: gzip,deflate,sdch
Accept-Language: es-ES,es;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
POST: {"data":{"size":10,"search":"José","order":"name","page":1}}
Run Code Online (Sandbox Code Playgroud)
IE不工作
我试图在$ http中强制使用Content-Type,但没有.两个浏览器中的响应都正常.我正在使用Apache而不是Win 7"por si las moscas".
重要提示:请求在发送到服务器之前格式不正确,上面的标题我将从Firebug和Chrome中检查.
任何的想法?谢谢!
何塞
UPDATE
我把url编码到帖子,并在服务器中解码,我注意到使用UTF-8 url解码工作不好,但ISO-8859-1工作正常.然后浏览器发送ISO-8859-1的帖子?
我们有一个spring 3应用程序仍然使用已弃用HibernateTemplate的持久性,并希望迁移到更现代的JPA EntityManager.
是否可以在迁移期间并行使用两个API(甚至可能在单个事务中都使用),以便我们可以在很小的步骤中进行迁移?
或者我们必须做大爆炸吗?