我正在研究一个项目,其中上下文和会话由ThreadLocal使用ThreadPoolExecutor安全地管理(信息从线程传递到ThreadPoolExecutor内部的另一个线程)。
我们有:
Quarkus版本:1.9.1.最终版
爪哇:11
您可以通过配置属性来优化Quarkus主服务执行器。查看所有quarkus.thread-pool.*
属性,然后将其用作常规服务执行器。
为了将这个线程池注入到您的服务中,请确保通过添加以下扩展来支持上下文传播。/MVNW quarkus:add-extensions=“quarkus-smallrye-context-propagation”
,您可以在此链接中看到
将主服务执行器注入您的服务非常简单:
@Inject ManagedExecutor Exec;
创建一个单独的服务执行器这是另一种方法(然而,您应该问自己,使用一个单独的执行器我得到了什么?,我在寻找什么?),也许有意义,我想这取决于具体情况。在“本例”中,您可以创建自己的ManagedExcutor并使用它,例如:
import io.quarkus.runtime.Startup;
import org.eclipse.microprofile.context.ManagedExecutor;
import javax.enterprise.context.ApplicationScoped;
import javax.inject.Named;
import javax.ws.rs.Produces;
public class Producers {
private final static int POOL_SIZE = 4; // TODO move on this hardcode properties to a config file
private final static int POOL_QUEUE_SIZE = 10;
@Startup // Instanciated at start-time
@ApplicationScoped // Only one instance for all your app (Singleton)
@Produces
@Named("customServiceExecutor") // tag your instance, because remember that you will have also another ServiceExecutor (the default one)
ManagedExecutor managedCustomExecutor() {
System.out.println("customServiceExecutor created (once)!.");
return ManagedExecutor.builder()
.maxAsync(POOL_SIZE)
.maxQueued(POOL_QUEUE_SIZE)
.build();
}
}
import io.smallrye.context.api.NamedInstance;
import org.eclipse.microprofile.config.inject.ConfigProperty;
import org.eclipse.microprofile.context.ManagedExecutor;
import javax.inject.Inject;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
@Path("/hello/")
public class HelloResource {
@ConfigProperty(name = "org.pjgg.greeting")
private String greeting;
@Inject
@NamedInstance("customServiceExecutor")
ManagedExecutor delorean;
@GET
@Produces(MediaType.TEXT_PLAIN)
public String hello() {
System.out.println(java.lang.Thread.activeCount());
var promise = delorean.supplyAsync(()-> "You will see this in the future !!!");
promise.thenAccept(System.out::println);
System.out.println(java.lang.Thread.activeCount());
return greeting;
}
}
我正在使用MPAndroidChart显示一个相对简单的条形图。 有2件事我需要设置,我不知道如何自定义: > 我需要为每个条添加文本,而不是简单的值,每个条本身也有样式。 在每个条的顶部,我需要放置各种类型的可绘制材料来覆盖它的宽度(例如一个条中高度为2dp的蓝色,或另一个条上高度相同的黄色渐变)。 下面是我需要做的一个演示: > 我知道我也可以通过使用添加图标,但这似乎不适用于应该使用整个条形
我目前正在做一个ReactJS项目,它使用了Webpack2和TypeScript。除了一件事之外,一切都运行得很好——我找不到一种方法将我自己编写的接口移动到单独的文件中,以便它们对整个应用程序可见。 出于原型设计的目的,我最初在使用它们的文件中定义了接口,但最终我开始添加一些在多个类中需要的接口,这时所有的问题都开始了。无论我对我的< code>tsconfig.json做什么更改,也无论我把
问题内容: 我正在研究Android项目。我有一个prefs.xml代码,像这样 而且我需要自定义首选项布局。我创造了; custom_name_setting_layout.xml 并编写一个SettingActivity.java 我的问题是;我写了setBackgroundColor方法,但是没有用。不起作用的意思是,该程序正在运行而没有错误(例如NullReferenceException
主要用于设置三级权限以及密码策略等。 该功能用于设置是否启用三级权限以及密码策略相关配置。参数设置完成后,需要5分钟后生效。 入口:在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “系统配置/全局设置/全局设置” 菜单项,进入全局设置页面。 目前全局设置支持设置以下选项: 配额检查开关:设置是否启用配额检查,默认关闭配额检查。如用户有配额限制的要求,可以开启配额检查,开启后,用户可以在域或
目前仅支持字典设置和全局设置,参数配置后全局生效。 字典设置 用于自定义云管平台中常用菜单的显示名称。 全局设置 主要用于设置三级权限以及密码策略等。
1)加密设置 加密设置分为,PC加密设置和移动加密设置。 PC加密设置: 当PC加密为“打开”状态时,新上传的视频会进行加密(加密视频只能使用获得场景视频播放器),已上传的视频保持不变。 当PC加密为“关闭”状态时,新上传的视频不会进行加密,已上传的视频保持不变。 移动加密设置: 非加密——当设置成【非加密】时,移动端将不受限制,此时不受保护。 WEB授权——可以在移动WEB端播放和APP端播放,