小编Biz*_*zzy的帖子

通过应用程序可用的 Guice 和 VertX 可注入请求上下文

在过去的几个月里,我一直在努力学习 VertX Web 框架的来龙去脉。然而,我遇到了一个我认为很容易解决的问题 - 但直到今天我还没有找到解决方案。

所以我的问题是:我希望有一个 Web 请求范围的上下文可以在整个应用程序中注入。

我尝试做的是这样的:

router.route("...").handler(RoutingContext ctx -> {
    val requestContext = new AppContext(UUID.randomUUID());
    val scope = injector.getInstance(CustomScope.class);
    scope.enter();
    scope.seed(IAppContext.class, requestContext);

    ctx.next();
});

router.route("...").handler(RoutingContext ctx -> {
    // actual code

    ctx.next();
});

router.route("...").handler(RoutingContext ctx -> {
    val scope = injector.getInstance(CustomScope.class);
    scope.exit();

    ctx.response().end();
});
Run Code Online (Sandbox Code Playgroud)

我确实有一种感觉,当前的解决方案不适用于同时传入的多个请求。因为 VertX 在单线程上运行,所以我必须先完成范围才能进入新的范围,所以这个解决方案现在还不行。

Guice 自定义范围与相同,因此如果我可以在此自定义范围代码中解决此问题,那就太完美了。我对这些自定义范围不太了解,所以我在这方面有点迷失...

我只想在某处有一些请求存储,而不必将其作为参数传递给整个应用程序代码中的方法。我已经搜索了一些静态访问 RoutingContext 的方法,但现在没有运气。

java scope dependency-injection guice vert.x

5
推荐指数
0
解决办法
516
查看次数

无法添加或更新子行:外键约束失败-休眠中的双向映射

嗨,我对JPA有问题...

D B:

数据库

Java类(忽略不相关的字段):

用户:

@Entity
public class User{
    @Id
    private int iduser;

    //bi-directional many-to-one association to UserInfo
    @OneToMany(mappedBy="user", cascade= {CascadeType.ALL}, fetch=FetchType.EAGER)
    private List<UserInfo> userInfos;
}
Run Code Online (Sandbox Code Playgroud)

用户信息:

@Entity
@Table(name="user_info")
public class UserInfo {
    @Id
    @Column(name="iduser_info")
    private int iduserInfo;

    //bi-directional many-to-one association to User
    @ManyToOne  
    private User user;
}
Run Code Online (Sandbox Code Playgroud)

目前,当我尝试执行此操作时(再次省略了设置无关字段的设置):

User u = new User();            
UserInfo info = new UserInfo();
u.addUserInfo(info);

em.persist(u); // save user
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

Cannot add or update a child row: a foreign key constraint fails (`webstore`.`user_info`, CONSTRAINT `fk_user_info_user` …
Run Code Online (Sandbox Code Playgroud)

java hibernate jpa java-ee

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

标签 统计

java ×2

dependency-injection ×1

guice ×1

hibernate ×1

java-ee ×1

jpa ×1

scope ×1

vert.x ×1