在使用响应式将基本功能开发完成后,当页面点击频率高时
可能使用姿势不当,但是照着官网写的代码出现这样子多多少少也有quarkus的reactive不够稳定的因素吧. 因此后面改成了命令式编程模式.要交作业,没时间耗了…
这里有点小坑,reactive和命令式模式,数据库配置键值对的值竟然不相同
持久化示例:
@POST
@Path("/create")
@Blocking
public Uni<BaseResponse<Long>> create(ChannelAccount channelAccount) {
//这里需要调用flush后,才能正确返回id, 单纯的persist可以正确保存但是无法返回自增的id
Uni<ChannelAccount> persist = channelAccount.persistAndFlush();
return persist.onItem()
.transform(account -> account.getId())
.onItem()
.transform(BaseResponse::success);
}
多表结果集返回:
@GET
@Produces(MediaType.TEXT_HTML)
@Blocking
public Uni<TemplateInstance> store(@QueryParam("name") String name) {
Uni<List<Store>> storeListUni = Store.findAll().list();
List<Store> storeList = storeListUni.await().indefinitely();
Uni<List<DeliveryStrategy>> strategyListUni = DeliveryStrategy.findAll().list();
List<DeliveryStrategy> strategyList = strategyListUni.await().indefinitely();
return Uni.createFrom()
.item(() -> {
TemplateInstance instance = store.data("storeList", storeList)
.data("strategyList", strategyList)
.data("name", name);
return instance;
});
}
public class ChannelAccount extends PanacheEntityBase {
//`id` bigint(20) NOT NULL AUTO_INCREMENT,
//PRIMARY KEY (`id`)
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
//`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
@Column(name = "create_time", insertable = false, updatable = false)
private LocalDateTime createTime;
// `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
@Column(name = "update_time", insertable = false, updatable = false)
private LocalDateTime updateTime;
}
采用wget进行安装;
步骤 | 功能 |
---|---|
1.下载tar包 | wget jdk官方的tar.gz包 |
解压 | tar -zxvf tar.gz |
配置环境变量 | vi /etc/profile |
配置生效 | source /etc/profile |
测试 | java -version |
export JAVA_HOME=/usr/java/jdk-18.0.1.1
export CLASSPATH=${JAVA_HOME}/lib:$CLASSPATH
export PATH=$PATH:${JAVA_HOME}/bin
maven同样操作wget命令来进行安装
步骤 | 功能 |
---|---|
下载tar包 | wget maven官方的tar.gz包 |
解压 | tar -zxvf apache-maven-3.8.6-bin.tar.gz |
配置环境变量 | 修改/etc/profile文件,添加环境变量 |
配置生效 | source /etc/profile |
查看版本 | mvn -v |
export MAVEN_HOME=/usr/maven/apache-maven-3.8.6
export PATH=$PATH:${MAVEN_HOME}/bin
sudo apt-get install git
作为服务器,能拉代码就成,因此采用https协议使用git命令进行项目的clone
cd到项目的目录下
mvn quarkus:dev 这个属于开发模式,执行的效果就是没有效果,因为这个外部无法访问,正确的姿势是:
云服务器的设置上将端口号暴露出来
此时可以再外网上正确访问到项目
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。