小编Imr*_*han的帖子

tar:忽略未知的扩展标头关键字“LIBARCHIVE.xattr.security.selinux”

我正在使用以下链接安装 Openshift Origin 一体式服务器

https://docs.openshift.org/latest/getting_started/administrators.html#downloading-the-binary

下载后当我这样做时

tar -xf openshift-origin-server-v3.10.0-rc.0-c20e215-linux-64bit.tar.gz -C /opt/redhat
Run Code Online (Sandbox Code Playgroud)

它抛出以下输出,但目录已解压到所需目录

openshift openshift-origin

27
推荐指数
3
解决办法
3万
查看次数

如何安排每小时开始的任务

我正在开发一种服务,假设每小时开始重复一小时(下午1:00,下午2:00,下午3:00等).

我试过跟随,但它有一个问题,我第一次必须在小时开始运行程序,然后这个调度程序将重复它.

ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor();
scheduler.scheduleWithFixedDelay(new MyTask(), 0, 1, TimeUnit.HOURS);
Run Code Online (Sandbox Code Playgroud)

有什么建议重复我的任务,无论我什么时候运行程序?

此致,伊姆兰

java scheduling scheduled-tasks

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

Docker Swarm群集中未打开套接字端口(已识别根本原因)

我有以下设置

  • 两个虚拟机
  • 创建了覆盖网络
  • 创建了两个docker swarm服务

    docker service create --name karaf1-service --replicas 1 --network karaf_net karaf1:2.0.0

    docker service create --name karaf2-service --replicas 1 --network karaf_net karaf2:2.0.0

现在这些容器在开始时打开套接字端口,我观察一段时间它成功地创建它失败的大量时间.

ServerSocketFactory.getDefault().createServerSocket(serverPort)
Run Code Online (Sandbox Code Playgroud)

如果两个容器都在一个节点上启动,那么它几乎是成功的,但是当容器在不同的节点上创建时,它每次都会失败.

在对网络问题进行故障排除之前,容器atleast应该创建套接字.

这个容器无法打开套接字

root@bd48643080b2:/opt/apache/apache-karaf-4.1.5# netstat -tulnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:8101            0.0.0.0:*               LISTEN      61/java
tcp        0      0 127.0.0.1:1099          0.0.0.0:*               LISTEN      61/java
tcp        0      0 0.0.0.0:41551           0.0.0.0:*               LISTEN      61/java
tcp        0      0 127.0.0.11:44853        0.0.0.0:*               LISTEN      -
tcp        0      0 0.0.0.0:44444 …
Run Code Online (Sandbox Code Playgroud)

apache-karaf docker docker-swarm

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

如何在Oracle中转换列的字符集

我有一个表,我们的服务提供商插入UNICODE数据,但我的oracle characterset是WE8ISO8859P1.

现在我得到的数据我使用oracle的功能,但它显示???????

从client_campaigns中选择CONVERT(消息,'AL32UTF8','WE8ISO8859P1')

更多消息库存是CLOB类型.

由于dataloss,我无法更改数据库的字符集,其次是生产和字符集的更改可能会导致错误.

现在请指导我如何将这些数据作为UNICODE获取?

问候,imran

java oracle jdbc

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

如何更改JAX-WS Web服务的地址位置

我们目前使用以下URL公开了JAX-RPC Web服务

HTTP://xx.xx.xx.xx/myservice/MYGatewaySoapHttpPort WSDL

我们通过从上面的WSDL生成WebService,将webservice迁移到JAX-WS

但是可以从以下URL访问新的Web服务

HTTP://xx.xx.xx.xx/myservice/MYGateway WSDL

我如何能够通过首先提到的相同URL访问我的JAX-WS Web服务?这样我们的客户就没有任何问题.

更新:

我创建的WSDL的服务元素是按照期望的

<WL5G3N0:service name="MyGateway">
    <WL5G3N0:port binding="WL5G3N2:MyGatewaySoapHttp" name="MyGatewaySoapHttpPort">
      <WL5G3N3:address location="http://xx.xx.xx/myservice/MyGatewaySoapHttpPort"/>
    </WL5G3N0:port>
  </WL5G3N0:service>
Run Code Online (Sandbox Code Playgroud)

但是JAX-WS的WSDL不同,并且这个WSDL是自动生成的.

<WL5G3N0:service name="MyGateway">
- <WL5G3N0:port binding="WL5G3N2:MyGatewaySoapHttp" name="MyGatewaySoapHttpPort">
  <WL5G3N3:address location="http://xx.xx.xx/myservice/MyGateway" /> 
  </WL5G3N0:port>
 </WL5G3N0:service
Run Code Online (Sandbox Code Playgroud)

我使用Oracle Eclipse Indigo创建了webservice.

我能改变任何注释吗?

问候,

java web-services jax-ws jax-rpc

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

Shell脚本从最近一小时的日志中获取异常

我正在开发脚本,它将grep最近一小时的日志并检查任何异常并发送solaris平台的电子邮件.

我做了以下步骤

grep -n -h date +'%Y-%m-%d %H:%M' test.logs
Run Code Online (Sandbox Code Playgroud)

上面的命令给我行号,然后我做了以下

tail +6183313 test.log | grep 'exception'
Run Code Online (Sandbox Code Playgroud)

样本日志

2014-02-17 10:15:02,625 | WARN  | m://mEndpoint | oSccMod | 262 - com.sm.sp-client - 0.0.0.R2D03-SNAPSHOT | 1201 or 101 is returned as exception code from SP, but it is ignored
2014-02-17 10:15:02,625 | WARN  | m://mEndpoint | oSccMod | 262 - com.sm.sp-client - 0.0.0.R2D03-SNAPSHOT | SP error ignored and mock success returned
2014-02-17 10:15:02,626 | INFO  | 354466740-102951 | ServiceFulfill | 183 - org.apache.cxf …
Run Code Online (Sandbox Code Playgroud)

shell grep parsing solaris tail

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

file parameter in declarative pipeline

我正在开发声明式管道,并希望使用文件参数来读取其内容,但它没有按预期工作

parameters{
        file(fileLocation:'list.txt', description:'contains list of projects to be build')
   }
Run Code Online (Sandbox Code Playgroud)

我收到以下错误

org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
WorkflowScript: 12: Invalid parameter "fileLocation", did you mean "description"? @ line 12, column 14.
           file(fileLocation:'release-list.txt', description:'contains list of projects to be build')
Run Code Online (Sandbox Code Playgroud)

以下是基本步骤插件提到的另一个选项

readFile: Read file from workspace
Reads a file from a relative path (with root in current directory, usually workspace) and returns its content as a plain string.
file
Relative ( /-separated) path to file within a workspace to read.
Type: String
encoding …
Run Code Online (Sandbox Code Playgroud)

jenkins jenkins-pipeline jenkins-declarative-pipeline

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

如何使用fabric8 java客户端获取kubernetes服务帐户访问令牌?

我已在本地计算机中配置了 minikube,并将在外部使用 kubernetes。我已经在 kubernetes 中创建了一个服务帐户,并使用它的秘密我可以使用以下命令获取访问令牌。

kubectl get secret <service-account-secret> -o yaml -n mynamespace
Run Code Online (Sandbox Code Playgroud)

我的问题是如何在运行时使用 Fabric8 Java 客户端来做到这一点?我想要的是通过将服务帐户的秘密作为参数来获取访问令牌。

我正在启动配置,如下所示。

Config config = new ConfigBuilder().withMasterUrl(masterURL)
                .withClientCertFile(certFile).withOauthToken(serviceAccountAccessToken).build();
Run Code Online (Sandbox Code Playgroud)

我可以知道如何使用fabric8 java客户端获取如上所述的serviceAccountAccessToken吗?

java openshift fabric8 openshift-origin kubernetes

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

访问prometheus服务器的入口路由规则

我已经在 kubernetes(1.17.3) 上部署了 prometheus 服务器(2.13.1),我可以在http://my.prom.com:9090

但我想访问它,http://my.prom.com:9090/prometheus所以我添加了以下入口规则,但它不起作用

第一次尝试:

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  annotations:
    nginx.ingress.kubernetes.io/app-root: /prometheus
  name: approot
  namespace: default
spec:
  rules:
  - host: my.prom.com
    http:
      paths:
      - backend:
          serviceName: prometheus-svc
          servicePort: 9090
        path: /
Run Code Online (Sandbox Code Playgroud)

这会导致 404 错误

第二次尝试:

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /$2
  name: rewrite
  namespace: default
spec:
  rules:
  - host: my.prom.com
    http:
      paths:
      - backend:
          serviceName: prometheus-svc
          servicePort: 9090
        path: /prometheus(/|$)(.*)
Run Code Online (Sandbox Code Playgroud)

现在,当我在浏览器中访问 URL 时,http://my.prom.com:9090/prometheus它会更改为http://my.prom.com:9090/graph并显示 404 错误

kubernetes prometheus kubernetes-ingress

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

Inter pods communication with dns name not working in kubernetes

I have installed Kubernetes(1.17.3) on one server(not VM) with flannel(v0.11.0-amd64) using kubeadm. Then i installed grafana and prometheus and can access both on NodePort http://<serverip>:31000

Now when i tries to access prometheus service from grafana its giving error Could not resolve host: prometheus-server;

I start troubleshooting and perform following steps

  • verified that podsCIDR is configurered

    kubectl get nodes -o jsonpath='{.items[*].spec.podCIDR}' 10.244.0.0/24

  • Curl 上的 IP 和 DNS 服务名称

    # curl 10.244.0.33:9090 <a href="/prometheus/graph">Found</a>

    # curl 10.109.215.27:9090 <a href="/prometheus/graph">Found</a>

    # curl http://prometheus-server:9090 …

docker kubernetes flannel

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

如何在camel中处理多个jpa实体到处理器

我正在从表中检索多行,然后希望我的处理器处理它们,但我观察到camel正在为每一行调用我的处理器,我想传递实体列表

以下是我的代码

from("jpa:com.pns.ab.model.LoanRequest?consumeDelete=false"
            + "&consumer.delay=20000"
            + "&consumer.namedQuery=selectLoanRequests"
            + "&persistenceUnit=LoanServicePU").process(new JpaProcessor());
Run Code Online (Sandbox Code Playgroud)

在处理器中

LoanRequest lr = exchange.getIn().getBody(LoanRequest.class);
Run Code Online (Sandbox Code Playgroud)

但我想要的选择

List<LoanRequest> requests  = exchange....
Run Code Online (Sandbox Code Playgroud)

问候,

java jpa apache-camel

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

根据条件更新 yq 中的数组值

我有如下示例 yaml

scrape_configs:
- job_name: 'snmp-moxa'
  static_configs:
  - targets:
- job_name: prometheus
  static_configs:
  - targets:
    - localhost:9090
Run Code Online (Sandbox Code Playgroud)

我想添加 IP 地址,其中 job_name 等于“snmp-moxa”,我尝试了以下操作,但没有成功

验证它到达正确的路径

# yq eval '.scrape_configs[] | select(.job_name == "snmp-moxa") | .static_configs' prom.yaml
- targets:
Run Code Online (Sandbox Code Playgroud)

以下是更新值的两次尝试

#yq eval -i '.scrape_configs[] | select(.job_name == "snmp-moxa") | .static_configs.targets |= . + ["10.11.158.177"]' prom.yaml
Error: Cannot index array with 'targets' (strconv.ParseInt: parsing "targets": invalid syntax)


# yq eval -i '.scrape_configs[] | select(.job_name == "snmp-moxa") | .static_configs.targets |= . + [10.11.158.177]' prom.yaml
Error: …
Run Code Online (Sandbox Code Playgroud)

yaml yq

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

在Java中创建对象的设计问题

我正在开发一个应用程序,其中订阅者发送SMS以获取任何包.

在我的程序中,当我收到用户请求时,我必须创建Subscriber对象.要初始化订户对象,我必须查询后端数据库和IN节点,然后设置订户对象的属性.

请为此建议,我应该使用Factory模式还是Builder?或任何好的选择?有什么建议我将代码用于查询数据库并在Factory类中调用XMLRPC?

我的课看起来像以下

public class Subscriber {

private String subno;
private String subPackageType;
private String subTariff;
private String subRequest;
private boolean isTransferable;
}
Run Code Online (Sandbox Code Playgroud)

现在subno,subRequest我从sms获得,subPackageType来自数据库,subTariff来自IN节点,发送XMLRPC命令.

我也有更多的属性,但我只提一些提供概念.

问候,
imran

java oop design-patterns

0
推荐指数
1
解决办法
156
查看次数