小编Usu*_*sul的帖子

使用 Quarkus 启动工作线程的正确方法?

我正在实现 Quarkus 服务器。服务器启动时,应启动一个(永无止境的)后台进程。

@ApplicationScoped我知道我可以使用实现以下功能的 bean 来观察启动事件void onStart(@Observes StartupEvent ev)

但是启动后台进程的最佳方式是什么?有限制吗?在 J2EE 中,不应创建线程,而应使用ManagedExecutorService带有注释方法的 EJB @Asynchronous

Quarkus 里有类似的东西吗?我只找到了调度程序注释(这很好,但我只想在开始时启动一个进程一次)。

那么我可以只创建线程吗?或者只是把我的无限代码放进去void onStart(@Observes StartupEvent ev)

谢谢

multithreading background startup worker quarkus

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

是否有 Xtext 的 java 语法文件?

我想从 Java 源文件(输入:*.java 文件;输出:某物)创建某些文件。Xtext 似乎是一个很好的工具。当然,您必须先定义语法(在本例中:Java)。但是 Xtext 应该能够解析 Java 文件并从中生成一些文件(如果我编写模板)。

不知何故,我无法想象,这是以前没有做过的。我查了一下,但没有找到任何东西。所以问题是:

是否有用于 Java(定义 Java 语法)的 Xtext-grammar 文件?

java xtext

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

从 TypeMirror 获取数组的类类型

我正在做 Java APT 并想解析一个方法 (an ExecutableElement)。现在我需要该方法的返回类型。我不知道如何获取类型,如果它是一个数组。

例子: String[] foobar()

我想得到类型String

从 ExecutableElement 实例中,我可以获得作为 TypeMirror 实例的返回类型(使用getReturnType())。但是如果它是一个数组,我就无法得到“真实类型”(在我的例子中:)String

我试过:

System.out.println("TEST: " + pReturnType.toString());
System.out.println("TEST2: " + pReturnType.getClass().getName());
System.out.println("TEST3: " + pReturnType.getClass().getEnclosingClass());
System.out.println("TEST4: " + pReturnType.getClass().getComponentType());
System.out.println("TEST5: " + pReturnType.getKind());
Run Code Online (Sandbox Code Playgroud)

这给了我:

TEST: java.lang.String[]
TEST2: com.sun.tools.javac.code.Type$ArrayType
TEST3: class com.sun.tools.javac.code.Type
TEST4: null
TEST5: ARRAY
Run Code Online (Sandbox Code Playgroud)

我想要一个java.lang.Class, 代表java.lang.String(在我的例子中)的实例。

java

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

标签 统计

java ×2

background ×1

multithreading ×1

quarkus ×1

startup ×1

worker ×1

xtext ×1