我试图在Java中使用oauth2授权令牌访问API这是客户端代码
DefaultHttpClient httpclient = new DefaultHttpClient();
HttpPost post = new HttpPost(http://res-api");
post.setHeader("Content-Type","application/json");
post.setHeader("Authorization", "Bearer " + finalToken);
JSONObject json = new JSONObject();
// json.put ...
// Send it as request body in the post request
StringEntity params = new StringEntity(json.toString());
post.setEntity(params);
HttpResponse response = httpclient.execute(post);
httpclient.getConnectionManager().shutdown();
Run Code Online (Sandbox Code Playgroud)
这返回401.
等效的curl命令可以使用相同的令牌没有问题:
curl -H "Content-Type:application/json" -H "Authorization:Bearer randomToken" -X POST -d @example.json http://rest-api
Run Code Online (Sandbox Code Playgroud)
我尝试注销请求,看起来授权设置正确
DEBUG [2016-06-28 20:51:13,655] org.apache.http.headers: >> Authorization: Bearer authRandomToKen; Path=/; Domain=oauth2-server; Expires=Wed, 29 Jun 2016 20:51:13 UTC
Run Code Online (Sandbox Code Playgroud)
我通过复制粘贴这个相同的令牌尝试了curl命令,并且t工作正常
虽然我也看到了这一行
DEBUG [2016-06-28 …
Run Code Online (Sandbox Code Playgroud) 我正在按照本教程进行服务发现http://jasonwilder.com/blog/2014/07/15/docker-service-discovery
简述:
我创建了一个运行在xyzd:4001的etcd主机
docker run -d --name etcd -p 4001:4001 -p 7001:7001 coreos/etcd
Run Code Online (Sandbox Code Playgroud)
在backend_serverip:8000和docker-register创建了一个运行容器的后端服务器
$ docker run -d -p 8000:8000 --name whoami -t jwilder/whoami
$ docker run --name docker-register -d -e HOST_IP=$(hostname --all-ip-addresses | awk '{print $1}') -e ETCD_HOST=x.y.z.d:4001 -v /var/run/docker.sock:/var/run/docker.sock -t jwilder/docker-register
Run Code Online (Sandbox Code Playgroud)
在backend2_serverip:8000和docker-register创建了另一个运行容器的后端服务器
$ docker run -d -p 8000:8000 --name whoami -t jwilder/whoami
$ docker run --name docker-register -d -e HOST_IP=$(hostname --all-ip-addresses | awk '{print $1}') -e ETCD_HOST=x.y.z.d:4001 -v /var/run/docker.sock:/var/run/docker.sock -t jwilder/docker-register
Run Code Online (Sandbox Code Playgroud)
创建了一个运行docker-discover和ubuntu映像的客户端
$ docker run -d --net …
Run Code Online (Sandbox Code Playgroud) 我试图在http get调用中读取环境变量
$http.get('http://' + $location.host() + ':8080/api')
Run Code Online (Sandbox Code Playgroud)
我希望能够读取environmen变量并将其用作上面API调用中的http rest服务器,如下所示
$http.get('environmental_variable ':8080/api')
Run Code Online (Sandbox Code Playgroud)
注意:我不知道环境变量直到运行时因此我不能将值作为常量使用
我正在寻找nginx配置来设置docker存储库
###########################################################
## this configuration was generated by JFrog Artifactory ##
###########################################################
## add ssl entries when https has been set in config
ssl_certificate /etc/nginx/ssl/demo.pem;
ssl_certificate_key /etc/nginx/ssl/demo.key;
ssl_session_cache shared:SSL:1m;
ssl_prefer_server_ciphers on;
## server configuration
server {
listen 443 ssl;
listen 80 ;
server_name ~(?<repo>.+)\.art.local art.local;
if ($http_x_forwarded_proto = '') {
set $http_x_forwarded_proto $scheme;
}
## Application specific logs
## access_log /var/log/nginx/art.local-access.log timing;
## error_log /var/log/nginx/art.local-error.log;
rewrite ^/$ /artifactory/webapp/ redirect;
rewrite ^/artifactory/?(/webapp)?$ /artifactory/webapp/ redirect;
rewrite ^/(v1|v2)/(.*) /artifactory/api/docker/$repo/$1/$2;
chunked_transfer_encoding on;
client_max_body_size 0; …
Run Code Online (Sandbox Code Playgroud) 我有一个Kubernetes服务,公开两个端口如下
Name: m-svc
Namespace: m-ns
Labels:
Annotations: <none>
Selector: app=my-application
Type: ClusterIP
IP: 10.233.43.40
Port: first 8080/TCP
TargetPort: 8080/TCP
Endpoints: 10.233.115.178:8080,10.233.122.166:8080
Port: second 8888/TCP
TargetPort: 8888/TCP
Endpoints: 10.233.115.178:8888,10.233.122.166:8888
Session Affinity: None
Events: <none>
Run Code Online (Sandbox Code Playgroud)
以下是入口定义:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: f5
virtual-server.f5.com/http-port: "80"
virtual-server.f5.com/ip: controller-default
virtual-server.f5.com/round-robin: round-robin
creationTimestamp: 2018-10-05T18:54:45Z
generation: 2
name: m-ingress
namespace: m-ns
resourceVersion: "39557812"
selfLink: /apis/extensions/v1beta1/namespaces/m-ns
uid: 20241db9-c8d0-11e8-9fac-0050568d4d4a
spec:
rules:
- host: www.myhost.com
http:
paths:
- backend:
serviceName: m-svc
servicePort: 8080
path: /first/path
- backend:
serviceName: …
Run Code Online (Sandbox Code Playgroud) 我要求在应用程序运行之前,它的某些部分需要读取环境变量.为此,我有以下docker文件
FROM nodesource/jessie:0.12.7
# install gettext for envsubst
RUN apt-get update
RUN apt-get install -y gettext-base
# cache package.json and node_modules to speed up builds
ADD package.json package.json
RUN npm install
# Add source files
ADD src src
# Substiture value for backend endpoint env var
RUN envsubst < src/js/envapp.js > src/js/app.js
ADD node_modules node_modules
EXPOSE 8000
CMD ["npm","start"]
Run Code Online (Sandbox Code Playgroud)
上面的envsubst行读取(应该读取)一个env变量$MYENV
并替换它.但是当我打开文件app.js时,它是空的.我检查了容器中是否存在环境变量,它确实存在.是什么原因,它的价值不被读取和替换?我也在teh容器中尝试了相同的命令,它可以工作.它只在我运行图像时不起作用
我有以下要求
现在我有一个演员执行上述所有任务,如下所示
package akka.first.java;
import akka.actor.UntypedActor;
public class MySingleActor extends UntypedActor {
public void onReceive(Object msg) {
if( msg instanceof sendRequest ) {
//Connect to a webserver with a username and password and get an authetication token
String token = getToken();
// Read file to get different parameters
Param param = readFile();
// Use the auth token fro step 1 and parameters from step 2 to send an http request to the web server
Response response = …
Run Code Online (Sandbox Code Playgroud) 我的课堂上有以下层次结构
@Entity
@Table(name = "Parent")
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
public class Parent {
}
@Entity
@DiscriminatorVlaue("FirstChild")
public class FirstChild extends Parent {
}
@Entity
@DiscriminatorVlaue("SecondChild")
public class SecondChild extends Parent {
}
Run Code Online (Sandbox Code Playgroud)
这将按预期创建表Parent。
我的应用程序中的一些业务逻辑:
接受请求后,该请求将保留为“父代”类型,并在表中创建以下条目
Dtype id value
Parent 1 "some value"
Run Code Online (Sandbox Code Playgroud)
在处理请求时,它可以是类型,也可以是类型FirstChild
,SecondChild
因此在我的代码中
if (some condition is met) {
// change the Parent to its firstChild type
}
else {
// chnage it to "SecondChild" type
}
Run Code Online (Sandbox Code Playgroud)
我对继承的理解和用法正确吗?我本质上是在抛出运行时异常的if循环中向下转换对象,但是更改对象的类型是否还会更改DTYPE
数据库中的值?我本质上是在使用继承来使事物按其类型进行组织。我可以在构造函数中实现这一功能吗?但是,真正的问题是Dtype
更新是否可以修改?
为了进一步解决这个问题,
我在子类中创建了constutructors
public FirstChild(Parent parent) …
Run Code Online (Sandbox Code Playgroud) 我有一个秘密存储在我可以访问 arn 的秘密管理器中。我想从此 arn 检索值并在 terraform 中使用它,我该如何实现?
我从 terraform 网站上找到了这个
data "aws_secretsmanager_secret" "by-arn" {
arn = "arn:aws:secretsmanager:us-east-1:123456789012:secret:example-123456"
}
Run Code Online (Sandbox Code Playgroud)
然后我如何检索该值?意思是什么是“ get-value"
EC2 istance 在 terraform 中的等价物?
我正在尝试为我的 覆盖提到的方法HashSet
:
Set<MyObject> myObjectSet = new HashSet<MyObject>();
Run Code Online (Sandbox Code Playgroud)
我的对象:
public class MyObject implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
Long id;
String name;
int number;
Map<String,String> myMap;
public MyObject(String name, int number, Map<String,String> myMap) {
this.name = name;
this.number = number;
this.myMap = myMap;
}
[...]
}
Run Code Online (Sandbox Code Playgroud)
如何覆盖 hashcode()、equals() 和 compareTo() 方法?
目前我有以下几点:
public int hashCode () {
return id.hashCode();
}
// override the equals method.
public boolean equals(MyObject s) {
return …
Run Code Online (Sandbox Code Playgroud) java ×4
docker ×2
akka ×1
angularjs ×1
artifactory ×1
bearer-token ×1
blocking ×1
constructor ×1
containers ×1
curl ×1
equals ×1
etcd ×1
hashcode ×1
hashset ×1
hibernate ×1
http ×1
httpclient ×1
inheritance ×1
kubernetes ×1
nginx ×1
registry ×1
terraform ×1