小编pee*_*z80的帖子

kubectl run已被弃用 - 寻找替代方案

我正在使用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.

任何想法如何替换此运行命令?

kubernetes kubectl

31
推荐指数
5
解决办法
8478
查看次数

IntelliJ中的调试器步骤过滤器?

IntelliJ是否具有与Eclipse中的"使用步骤过滤器"类似的功能进行调试?

我是IntelliJ的新手,并希望避免进入hibernate或jboss代理类.

eclipse debugging intellij-idea

11
推荐指数
1
解决办法
1217
查看次数

docker-compose动态端口分配并检索端口

我正在实施一些通过docker-compose.yml启动Docker容器的测试。在CI上,有时会使用docker-compose.yml中定义的端口,这会导致测试失败。

因此,我有两个问题:

  1. 是否可以在docker-compose中完全动态分配端口转发?

  2. docker-compose cli中是否可以确定特定服务使用的端口?

我认为这将是最漂亮的解决方案-否则,我将需要试验环境变量等。

docker docker-compose

7
推荐指数
1
解决办法
1133
查看次数

将用户主体从REST传播到EJB层

我正在启动一个使用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?

java rest jboss ejb resteasy

6
推荐指数
1
解决办法
1397
查看次数

IntelliJ:从gradle项目自动创建耳神器

我有一个具有以下结构的gradle项目:

Root project 'project-gradle'
 +--- Project 'ejb'
 +--- Project 'ear'
 \--- Project 'war'
Run Code Online (Sandbox Code Playgroud)

构建在命令行上完美运行,我正在使用ear插件并且它是正确构建的.

不幸的是,当我将项目导入IntelliJ(或使用gradle创建的intelliJ文件打开它)时,唯一可用的工件就是war.但我需要耳朵.有没有办法在没有手动定义IntelliJ内部的耳部神器的情况下获得此功能?

java intellij-idea gradle

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

windows host + vagrant + kubectl port-forward:卡在 vagrant 里面

我正在使用安装了 vagrant box 的 Windows 笔记本电脑,在那里我有一个 kubectl 客户端来管理一些外部 kubernetes 集群。

出于调试目的,我想通过 kubectl 进行端口转发并从主机访问此端口。这从 vagrant 内部到 kubernetes 集群都可以完美运行,但显然有些东西与从主机到 vagrant 的 vagrant 端口转发一起不起作用。

这是我的设置:

  1. Vagrant 中的端口转发:

    config.vm.network "forwarded_port", guest: 8080, host: 8080, auto_correct:false

  2. 在 Kubernetes 中启动 nginx 容器:

    kubectl run -i -t --image nginx test

  3. 将端口转发到本地主机(在 vagrant 内部):

    kubectl port-forward test-64585bfbd4-zxpsd 8080:80

  4. 测试在 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)

vagrant kubernetes vagrant-windows kubectl

5
推荐指数
2
解决办法
1183
查看次数

无状态会话bean之间的循环依赖 - 良好的做​​法?

我在部署两个无状态会话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,一切正常.现在我有两个问题.

首先 - 焊接内部会发生什么,这是不允许的?

第二个(可能更重要) - 这是建筑方面的不良做法,如果是,你知道任何避免它的模式吗?根据我目前的知识,允许同一层上的业务驱动服务以他们需要的任何方式相互通信.

java ejb java-ee cdi

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

QueryDSL日期算术

我有一张这样的桌子:

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)

java jpa querydsl

2
推荐指数
1
解决办法
3346
查看次数