我正在使用kubectl run环境参数为我创建临时docker容器(例如,一些转发用于调试目的).几个星期以来kubectl一直在抱怨kubectl run被弃用.不幸的是我找不到合适的替代品.
这是旧命令:
$KUBECTL run -i -t --attach=false --image djfaze/port-forward --env="REMOTE_HOST=$REMOTE_HOST" --env="REMOTE_PORT=$REMOTE_PORT" $POD_NAME
Run Code Online (Sandbox Code Playgroud)
发出kubectl此消息时,请回复此消息:
kubectl run --generator=deployment/apps.v1beta1已弃用,将在以后的版本中删除.请改用kubectl create.
任何想法如何替换此运行命令?
IntelliJ是否具有与Eclipse中的"使用步骤过滤器"类似的功能进行调试?
我是IntelliJ的新手,并希望避免进入hibernate或jboss代理类.
我正在实施一些通过docker-compose.yml启动Docker容器的测试。在CI上,有时会使用docker-compose.yml中定义的端口,这会导致测试失败。
因此,我有两个问题:
是否可以在docker-compose中完全动态分配端口转发?
docker-compose cli中是否可以确定特定服务使用的端口?
我认为这将是最漂亮的解决方案-否则,我将需要试验环境变量等。
我正在启动一个使用REST api的应用程序,该API在JBoss Wildfly(RestEasy)上调用EJB层.
REST服务在战争中,然后调用ejb层.我知道如何在REST上实现BASIC或任何自定义形式的验证,使用RestEasy Interceptor检查Headers等.基本上如下所述:http://howtodoinjava.com/2013/06/26/jax-rs-resteasy-basic- 认证和授权教程/
现在的问题是 - 这只是对REST外观的检查.在EJB层内部,我不知道针对REST服务进行身份验证的用户.
要清除这一点 - 当使用带有身份验证的RMI和远程EJB调用时,用户名将存储在会话上下文中:
@Stateless
public class LoginService {
@Resource
private SessionContext sessionContext;
public String getCurrentUser() {
Principal principal = sessionContext.getCallerPrincipal();
return principal.getName(); //I need this to be the username from REST auth
//Currently it's anonymous
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法以某种标准方式传播用户名?例如,将自定义主体放入SessionContext?
我有一个具有以下结构的gradle项目:
Root project 'project-gradle'
+--- Project 'ejb'
+--- Project 'ear'
\--- Project 'war'
Run Code Online (Sandbox Code Playgroud)
构建在命令行上完美运行,我正在使用ear插件并且它是正确构建的.
不幸的是,当我将项目导入IntelliJ(或使用gradle创建的intelliJ文件打开它)时,唯一可用的工件就是war.但我需要耳朵.有没有办法在没有手动定义IntelliJ内部的耳部神器的情况下获得此功能?
我正在使用安装了 vagrant box 的 Windows 笔记本电脑,在那里我有一个 kubectl 客户端来管理一些外部 kubernetes 集群。
出于调试目的,我想通过 kubectl 进行端口转发并从主机访问此端口。这从 vagrant 内部到 kubernetes 集群都可以完美运行,但显然有些东西与从主机到 vagrant 的 vagrant 端口转发一起不起作用。
这是我的设置:
Vagrant 中的端口转发:
config.vm.network "forwarded_port", guest: 8080, host: 8080, auto_correct:false
在 Kubernetes 中启动 nginx 容器:
kubectl run -i -t --image nginx test
将端口转发到本地主机(在 vagrant 内部):
kubectl port-forward test-64585bfbd4-zxpsd 8080:80
测试在 vagrant-box 中运行的 nginx:
vagrant@csbox:~$ curl http://localhost:8080
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
body {
width: 35em;
margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif;
}
</style>
</head> …Run Code Online (Sandbox Code Playgroud)我在部署两个无状态会话bean时遇到了部署错误,每个会话bean都依赖于另一个并使用@Inject.
@Stateless
class BeanA {
@Inject
BeanB b;
public void doSomething() {
b.doSomething();
}
}
@Stateless
class BeanB {
@Inject
BeanA a;
public void doSomeOtherThing() {
a.doSomeOtherThing();
}
}
Run Code Online (Sandbox Code Playgroud)
在部署时,我从Glassfish/weld获得此异常:
org.jboss.weld.exceptions.DeploymentException:WELD-001443伪范围bean具有循环依赖关系.
用@EJB而不是@Inject注入Beans,一切正常.现在我有两个问题.
首先 - 焊接内部会发生什么,这是不允许的?
第二个(可能更重要) - 这是建筑方面的不良做法,如果是,你知道任何避免它的模式吗?根据我目前的知识,允许同一层上的业务驱动服务以他们需要的任何方式相互通信.
我有一张这样的桌子:
CREATE TABLE IF NOT EXISTS `sma`.`MIGRation` (
`MIGR_ID` BIGINT NOT NULL AUTO_INCREMENT ,
`MIGR_From` VARCHAR(1024) NOT NULL ,
`MIGR_To` VARCHAR(1024) NOT NULL ,
`MIGR_Validity_Days` INT NOT NULL ,
`MIGR_CreationDate` DATETIME NOT NULL ,
PRIMARY KEY (`MIGR_ID`) );
Run Code Online (Sandbox Code Playgroud)
您将如何在QueryDSL中编写表达式以查找仍然有效的条目(creationDate + validation_Days)?
SELECT * FROM MIGRation WHERE DATE_ADD(MIGR_CreationDate, INTERVAL MIGR_Validity_Days DAY) > now()
Run Code Online (Sandbox Code Playgroud)