小编Cur*_*rro的帖子

基于Enum的Jackson多态反序列化

我正在使用JacksonPolymorphicDeserialization,这是我的代码,它反序列化为基于'type'属性的正确类:

@JsonTypeInfo(  
    use = JsonTypeInfo.Id.NAME,  
    include = JsonTypeInfo.As.PROPERTY,  
    property = "type",
    defaultImpl = Event.class, 
    visible = true)  
@JsonSubTypes({        
    @Type(value = SpecialEvent1.class, name = "SPECIAL_EVENT_1"), 
    @Type(value = SpecialEvent2.class, name = "SPECIAL_EVENT_2"), 
    })  
public abstract class AbstractEvent {

    private String type;

    public String getType() {
    return type;
    }

    public void setType(String type) {
    this.type = type;
    }   
}
Run Code Online (Sandbox Code Playgroud)

它工作得很好,我的json根据'type'值变成了预期的类.

但是,我正在考虑将'type'属性从String移动到Enum,这是我的新代码:

@JsonTypeInfo(  
    use = JsonTypeInfo.Id.NAME,  
    include = JsonTypeInfo.As.PROPERTY,  
    property = "type",
    defaultImpl = Event.class, 
    visible = true)  
@JsonSubTypes({        
    @Type(value = SpecialEvent1.class, …
Run Code Online (Sandbox Code Playgroud)

java polymorphism json jackson

23
推荐指数
2
解决办法
9126
查看次数

Google App Engine上的python请求不适用于HTTPS

我在Google App Engine上使用了python-request,但它没有像HTTPS那样正常工作.我们来看一个例子:

import requests
requests.get('https://www.digitalocean.com')
Run Code Online (Sandbox Code Playgroud)

如果我在终端中执行它,该行将完美运行.响应是200 OK(没有重定向).

但是,如果我在GAE上执行它,则会引发TooManyRedirects错误.试图找出我用allow_redirects = False执行的问题是什么,我可以看到响应是重定向(301),它指向同一个url!('location'标头值为' https://www.digitalocean.com ').这显然(当allow_redirect = True时)反复发生,直到引发TooManyRedirects错误.

因此,似乎python请求不适用于HTTPS的GAE(我已经使用多个URL进行了测试).然而HTTP工作得很好.

关于发生了什么的任何想法?

提前致谢.

python google-app-engine python-2.7 python-requests

17
推荐指数
2
解决办法
4100
查看次数

错误的maven编译错误(在eclipse中工作)

当我使用maven编译但是在eclipse中工作时,我收到了编译错误.两者都使用相同的JDK:

java -version
java version "1.6.0_35"
Java(TM) SE Runtime Environment (build 1.6.0_35-b10)
Java HotSpot(TM) 64-Bit Server VM (build 20.10-b01, mixed mode)

mvn -version
Apache Maven 3.0.4
Maven home: /usr/share/maven
Java version: 1.6.0_35, vendor: Sun Microsystems Inc.
Java home: /usr/lib/jvm/jdk1.6.0_35/jre
Default locale: es_ES, platform encoding: UTF-8
OS name: "linux", version: "3.2.0-29-generic", arch: "amd64", family: "unix"
Run Code Online (Sandbox Code Playgroud)

这是错误:

[ERROR] /blablabla.../myClass.java:    [78,107] inconvertible types
[ERROR] found   : java.util.Collection<java.lang.Object>
[ERROR] required: java.util.Collection<? extends org.springframework.integration.store.MessageGroup>
[ERROR] -> [Help 1]
Run Code Online (Sandbox Code Playgroud)

这是代码(在eclipse中没有编译错误):

Collection<? extends MessageGroup> collection = (Collection<? …
Run Code Online (Sandbox Code Playgroud)

java maven

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

使用AJP连接器和mod_proxy在Tomcat前面的Apache出错

我在一组三个tomcat6服务器前面有一个Apache服务器(服务器版本:Apache/2.2.22(Ubuntu)).Apache使用mod_proxy和AJP连接器设置为负载均衡器:

<VirtualHost *:80>
    ProxyRequests off        
<Proxy balancer://mycluster>
    BalancerMember ajp://localhost:8009 keepalive=On retry=1 timeout=15 ping=1
    BalancerMember ajp://10.0.3.152:8009 keepalive=On retry=1 timeout=15 ping=1
    BalancerMember ajp://10.0.3.153:8009 keepalive=On retry=1 timeout=1 ping=15

    Order Deny,Allow
    Deny from none
    Allow from all
    ProxySet lbmethod=byrequests
</Proxy>

    <Location /balancer-manager>
            SetHandler balancer-manager 
            Order deny,allow
            Allow from all
    </Location>

    ProxyPass /balancer-manager !
    ProxyPass / balancer://mycluster/
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

Tomcat使用以下JAVA_OPTS运行:

-Xms2048m -Xmx2048m -XX:NewSize=256m 
-XX:MaxNewSize=356m -XX:PermSize=256m -XX:MaxPermSize=356m
Run Code Online (Sandbox Code Playgroud)

系统运行正常,但过了一段时间我从Tomcat收到这些错误:

org.apache.jk.common.ChannelSocket processConnection 
WARNING: processCallbacks status 2
Run Code Online (Sandbox Code Playgroud)

而这个来自Apache:

[error] ajp_read_header: ajp_ilink_receive failed
[error] (70007)The timeout specified has expired: proxy: read …
Run Code Online (Sandbox Code Playgroud)

java apache tomcat mod-proxy ajp

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

Http入站网关:返回HttpStatus

我有一个spring集成http入站网关.我想在不同的使用情况下返回特定的http状态代码.有没有办法在响应中指定httpStatus ???

我尝试使用excepion类型路由器,其中每个异常都是特定的http状态代码,但我不知道如何在响应中设置状态代码,我在文档中找不到任何关于它的帮助.

谢谢!

spring spring-integration

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