我发现,在相对简单的例子真是奇怪的行为,可能是我无法理解,因为春天@Transactional自然不深的知识,但是这是很有趣的.
我有简单的User dao,它扩展了spring JpaDaoSupport类并包含标准的save方法:
@Transactional
public User save(User user) {
getJpaTemplate().persist(user);
return user;
}
Run Code Online (Sandbox Code Playgroud)
如果工作正常,直到我已经添加新的方法,以同一类:用户getSuperUser(),这个方法应该isAdmin返回用户== true,并且如果在数据库没有超级用户,此方法应该创建一个.那是它的样子:
public User createSuperUser() {
User admin = null;
try {
admin = (User) getJpaTemplate().execute(new JpaCallback() {
public Object doInJpa(EntityManager em) throws PersistenceException {
return em.createQuery("select u from UserImpl u where u.admin = true").getSingleResult();
}
});
} catch (EmptyResultDataAccessException ex) {
User admin = new User('login', 'password');
admin.setAdmin(true);
save(admin); // THIS IS THE POINT WHERE STRANGE THING COMING OUT
}
return admin;
}
Run Code Online (Sandbox Code Playgroud)
正如你所看到的代码是奇怪向前时发现,没有交易被创建,并承诺在保存(管理)方法的调用,并没有新的用户实际上并没有,尽管@Transactional注解创建我感到很困惑.
在结果,我们有情况:当save()方法从UserDAO的类之外调用 …
在熟悉kubernetes的同时,我确实看到了大量的工具可以帮助我在任何地方安装kubernetes,但我不清楚它内部的功能,因此不了解如何解决问题.
有人可以提供一个链接,教程如何安装kubernetes没有任何工具.
有人知道这两者的区别吗?现在我看到的唯一区别是区域需要 >= 3 个区域。
找不到使用官方 aws_db_instance 资源激活 PostGIS 扩展的方法,是否还有其他选项可以使用 Terraform 激活它?
目前,当我运行 terragrunt run-all applyagags 文件夹时,即使出现错误,也会继续执行,这会导致其他模块出现错误,因此我最终会得到大量日志输出,并且必须在其中搜索第一个事件。
有什么方法可以强制 Terragrunt 快速失败吗?
实现与tinyurl或bit.ly类似的服务,我想将服务公开为API,我使用java和jersey作为RESTfull服务实现.
我正在寻找使用API的用户身份验证的最简单方法,首先考虑的是OAuth,但问题是我不需要使用请求令牌查询进行这3次迭代调用,而不是使用回调url传递访问令牌查询.我只需要让用户能够调用api而无需对我的服务器进行额外的安全调用.
我目前正在玩用于Android 4.3的蓝牙低功耗,目前还没有BLE信标,所以我的想法是用一个Android 4.3作为BLE服务器.但是如何创建客户端应用程序有很好的解释
http://developer.android.com/guide/topics/connectivity/bluetooth-le.html#close
几乎没有任何关于服务器,除了这个链接http://developer.android.com/reference/android/bluetooth/BluetoothGattServer.html
是否有一些教程或示例?
这是关于服务架构策略的更多问题,我们正在构建基于后端休息服务的大型Web系统.我们目前正在努力建立一些内部标准,以便在开发休息服务时遵循.
有些查询会返回实体列表,例如我们可以考虑让图像库检索服务:/ gell_all_galeries,返回下一个响应:
<galleries>
<gallery>
<id>some_gallery_id</id>
<name>my photos</name>
<photos>
<photo>
<id>123</id>
<name>my photo</name>
<location>http://mysite/photo/show/123</location>
......
<author>
<id>some_id</id>
<name>some name</name>
.......
<author>
</photo>
<photo> ..... </photo>
<photo> ..... </photo>
<photo> ..... </photo>
<photo> ..... </photo>
</photos>
</gallery>
<gallery> .... </gallery>
<gallery> .... </gallery>
<gallery> .... </gallery>
<gallery> .... </gallery>
</galleries>
Run Code Online (Sandbox Code Playgroud)
正如你在这里看到的那样,响应相当大而且重,并不总是我们需要这么深的信息级别.通常的解决方案是为每个图库使用或 http://ru.wikipedia.org/wiki/Atom元素而不是完整的图库数据:
<galleries>
<gallery>
<id>some_gallery_id</id>
<link href="http://mysite/gallery/some_gallery_id"/>
</gallery>
<gallery>
<id>second_gallery_id</id>
<link href="http://mysite/gallery/second_gallery_id"/>
</gallery>
<gallery> .... </gallery>
<gallery> .... </gallery>
<gallery> .... </gallery>
<gallery> .... </gallery>
</galleries>
Run Code Online (Sandbox Code Playgroud)
第一个问题是下一个:也许我们甚至不应该使用和类型,只使用泛型和所有返回列表对象的资源:
<list>
<item><link href="http://mysite/gallery/some_gallery_id"/></item> …Run Code Online (Sandbox Code Playgroud) 问题是,在删除和推送分支后,它不会永远丢失,它仍然存储在存储库中.我删除了大量不必要文件的分支,但只要它仍然在git存储库中的某个地方,git clone命令持续时间太大了.
现在我唯一看到的方法是删除整个存储库并重新创建它,但没有不必要的分支.
我考虑将HDFS用作我们的客户端视频托管服务的水平扩展文件存储系统.我主要担心HDFS不是为此需求而开发的,这更像是"目前在需要处理大量数据的情况下使用的开源系统".我们不想处理数据只是存储它们,在HDFS的基础上创建像小型内部Amazon S3模拟.
可能重要的时刻是存储的文件大小将从100Mb到10Gb非常小.
有没有人在这样的目的中使用HDFS?
我确实有docker容器运行,我做了很复杂的脚本来运行容器内部.该脚本位于主机上.我无法修改Dockerfile如何将脚本文件放入docker vm以使用docker exec运行它?
可能问题标题对你来说可能看起来很奇怪,但我会试着解释一下.
我确实在寻找桌面eclipse的替代方案,理想情况下我需要的是直接在我的linux dev-server上编辑源代码.在开发服务器上我没有任何xwindows只是命令行.所以我想使用Putty登录服务器,开发,构建,运行,提交对源代码控制系统的更改.
从文本编辑器我需要:
从第一眼看,emancs似乎就是我所需要的,但我不确定.
谢谢.
这是每个人都可以尝试的特定操作:
docker run --env TEST='xxx' ubuntu:14.04 /bin/echo $TEST
Run Code Online (Sandbox Code Playgroud)
返回一个空字符串.