Git Product home page Git Product logo

disconf's People

Contributors

hesy007 avatar knightliao avatar licheng-xd avatar magonglei avatar markyao avatar nabilzhang avatar ngloom avatar nulldust avatar qihw2 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

disconf's Issues

war部署无法下载资源文件

示例项目为 dis ,示例资源文件 datasource.properties
测试了tomcat8,
如果是 /dis 或dis.war部署都不能下载资源文件

jetty9.2 /dis 可以正常运行项目 ,dis.war方法启动无法下载资源文件

配置unicode utf8转码异常

配置文件内容传到服务器时会被转码成unicode,下载后使用disconf web包中的CodeUtil.unicodeToUtf8转会utf8,会碰到异常。
如:CHLOÉ会被转成CHLO���value> (Ov中有个特殊符号,贴不上来)
如: COMME DES GARÇONS 被转成COMME DES GAR�S(RS之间有特殊符号)

请问你接受pull request吗? 有几个单元测试的小改动希望采纳

在单元测试中, 你使用了wiremock建了个假服务器, 但是这个URL匹配是很死板的, 比如url/api/config/file?app=disconf_testcase&env=rd&type=0&key=confA.properties&version=1_0_0_0, 有时候你的测试用例中发注的请求url跟上面不一样, 往往是query parameter的顺序不一样, 比如key=key在version=version的后面, 因此url导致不匹配, 假服务器不反回期望的请求.

stubFor(get(urlEqualTo(RemoteMockServer.ITEM_URL))
                    .willReturn(aResponse().withHeader("Content-Type", RemoteMockServer.CONTENT_TYPE).withStatus(200)
                                    .withBody(GsonUtils.toJson(valueVo))));

长话短说, query parameter顺序不一样是因为遍历HashMap的顺序是随机的, 可能在你的环境中恰好这些单元测试都跑过了, 另一种环境就不行了. 我这里的症状是, 在Eclipse的JUnit跑没问题, mvn test 就不行了.

如果接受pull request的话, 我可以做些改动, 尽量减少源代码的改动的情况下解决这个单测的问题. 要动的地方只有RemoteMockServer.javaBaseCoreTestCase.java这两个类

貌似发现个bug

设置disconf.enable_local_download_dir_in_class_path=false之后, @DisconfFile(filename = "")如果不设置已copy2TargetDirPath,仍会从classpath下面读取 配置。然后找不到。注入不了值,获取不到配置。

版本2.6.22和2.6.23配置文件更新后回调方法没触发

第一次使用disconf,看了官方文档后,下载版本2.6.23研究,发现web端更改配置后,client端的自己做的例子的回调方法就是无法触发,然后下载了2.6.21,client端的回调方法就正常触发了.然后看到版本2.6.22说修复了个bug,所以我又下载了版本2.6.22,测试时发现client端的回调方法又不触发了。就2.6.21正常。。。对2.6.23代码稍微跟踪了下,web更改配置后,client端里的DisconfCoreProcessUtils类callOneConf方法里的List iDisconfUpdates = disconfStoreProcessor.getUpdateCallbackList(key)时,是空的,所以回调类里的reload没触发。但是2.6.21却可以正常。。。;请问,这是怎么回事,是不是版本2.6.22修复bug或删除多余代码引起的,导致IDisconfUpdate的实现类没被扫描到啊?

构造一个下载器有关下载目录问题

打算像Tutorial 10 中介绍的实现一个配置更新下载器agent,但是所有配置都只能下载到disconf.user_define_download_dir指定的目录下么,如果我想不同的配置下载到不同的目录这个可以实现么?

数据库脚本没有同步增加字段role_id

PO定义:
@table(db = DB.DB_NAME, name = "user", keyColumn = Columns.USER_ID)
public class User extends BaseObject {

private static final long serialVersionUID = 1L;

// 唯一
@Column(value = Columns.NAME)
private String name;

// token
@Column(value = Columns.TOKEN)
private String token;

// 密码
@Column(value = Columns.PASSWORD)
private String password;

//
@Column(value = Columns.OWNAPPS)
private String ownApps;

/**
 * 角色ID
 */
@Column(value = Columns.ROLE_ID)
private int roleId;
...

}

数据库:
CREATE TABLE user (
user_id BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '用户ID',
name VARCHAR(50) NOT NULL COMMENT '姓名',
password VARCHAR(255) NOT NULL COMMENT '密码',
token VARCHAR(255) NOT NULL COMMENT 'token',
PRIMARY KEY (user_id)
)

数据库role_resource没有同步创建

目前sql脚本没有自动生成role_resource表,手动创建该表以后提示没有权限访问资源。目前初步分析是这样,还没有继续往下分析。以下是请求log:
ca53fa30-0ed0-4632-a858-8fd11a41dd9a 2015-09-21 16:01:48,684 [http-bio-8080-exec-2] INFO com.baidu.dsp.common.interceptor.login.LoginInterceptor - /api/app
ca53fa30-0ed0-4632-a858-8fd11a41dd9a 2015-09-21 16:01:48,688 [http-bio-8080-exec-2] INFO com.baidu.disconf.web.service.roleres.service.impl.RoleResourceMgrImpl - Querying role_resource table to get all...
ca53fa30-0ed0-4632-a858-8fd11a41dd9a 2015-09-21 16:01:48,688 [http-bio-8080-exec-2] INFO com.baidu.dsp.common.dao.AbstractDao - ----null disconf.role_resource
ca53fa30-0ed0-4632-a858-8fd11a41dd9a 2015-09-21 16:01:48,688 [http-bio-8080-exec-2] INFO com.baidu.dsp.common.dao.AbstractDao - select method_mask,role_id,update_time,role_res_id,url_description,url_pattern from disconf.role_resource []
ca53fa30-0ed0-4632-a858-8fd11a41dd9a 2015-09-21 16:01:48,701 [http-bio-8080-exec-2] WARN com.baidu.dsp.common.handler.MyExceptionHandler - /api/app ExceptionHandler FOUND. com.baidu.dsp.common.exception.AccessDeniedException null
ca53fa30-0ed0-4632-a858-8fd11a41dd9a 2015-09-21 16:01:48,702 [http-bio-8080-exec-2] WARN com.baidu.dsp.common.handler.MyExceptionHandler - details: Access Denied: /api/app/, method:POST, UserId:1, RoleId:1

disconf-web 配置

配置文件包括:

- jdbc-mysql.properties (数据库配置)
- redis-config.properties (Redis配置)
- zoo.properties (Zookeeper配置)
- application.properties (应用配置)
注意,记得执行将application-demo.properties复制成application.properties:

cp application-demo.properties application.properties 

问下这里能否给出样例,主要是 application.properties,而且没找到 application-demo.properties。

谢谢。

update:

找到了,不好意思。

缺少表结构

8b9b7d4b-3f1b-4f3c-b51e-74b40689c23d 2015-06-04 16:20:33,320 [http-nio-8080-exec-7] INFO  com.baidu.dsp.common.dao.AbstractDao - select ownapps,role_id,token,name,user_id,password from disconf.user where name=? limit ?, ?   [admin, 0, 1]

但是在user表中没看到role_id这个字段

CREATE TABLE `user` (
    `user_id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '用户ID',
    `name` VARCHAR(50) NOT NULL COMMENT '姓名',
    `password` VARCHAR(255) NOT NULL COMMENT '密码',
    `token` VARCHAR(255) NOT NULL COMMENT 'token',
    PRIMARY KEY (`user_id`)
)

war包部署的问题

hi,我按照disconf-web/README中的步骤部署。其中配置文件我是从disconf/disconf-web/src/main/resources目录下拷贝过来的。更改了其中jdbc-mysql.properties的jdbc.db_0.username、jdbc.db_0.password。redis-config.properties文件我没看明白,因为我司redis都不需要密码的,为了适配这个文件,我也在redis.conf中requirepass foobared。另外,没看懂redis.group1.client1.name和redis.group1.client2.name这个怎么设置?rabbit.properties中修改了username和password,使用的是如下root用户,这样配置是否有错?
image
zoo.properties没有修改。
P.S.上述所有基础服务我是部署在一台虚拟机上,不知这样配置是否有错?
然后用admin登陆网页,显示“服务器内部错误”。
新手提问,比较业余,求不喷^-^。谢谢各位技术大佬!

本地拉取配置enable.remote.conf=false好像有问题?

我在项目中配置了enable.remote.conf=false。然后将所有的配置文件放在classpath下面,确认文件都是齐全的
项目中配置了两种读取方式,一种是分布式annotation托管,一种是静态托管。配置如下:

    <context:component-scan base-package="com.xxx.product"/>

    <aop:aspectj-autoproxy proxy-target-class="true"/>

    <!-- 使用disconf必须添加以下配置 -->
    <bean id="disconfMgrBean" class="com.baidu.disconf.client.DisconfMgrBean"
          destroy-method="destroy">
        <property name="scanPackage" value="com.xxx.product"/>
    </bean>
    <bean id="disconfMgrBean2" class="com.baidu.disconf.client.DisconfMgrBeanSecond"
          init-method="init" destroy-method="destroy">
    </bean>

    <bean id="configproperties_no_reloadable_disconf"
          class="com.baidu.disconf.client.addons.properties.ReloadablePropertiesFactoryBean">
        <property name="locations">
            <list>
                <value>classpath:/xxx.properties</value>
                ...
            </list>
        </property>
    </bean>

    <bean id="propertyConfigurer"
          class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="ignoreResourceNotFound" value="false"/>
        <property name="ignoreUnresolvablePlaceholders" value="true"/>
        <property name="propertiesArray">
            <list>
                <ref bean="configproperties_no_reloadable_disconf"/>
            </list>
        </property>
    </bean>

通过debug信息,并追踪了disconf的初始化过程,发现第一次扫描已经根据DisClientConfig.getInstance().ENABLE_DISCONF读取到并加载了正确的本地配置。
静态托管的文件都没有问题,应用可以读取到本地配置文件。
annotation托管的配置实例Bean的配置项属性值运行中都为null。

没找到原因。这是个bug吗?

是否可以不把配置Copy到classpath中?

目前,disconf启动的时候会把配置文件Copy一份到class path中,是否支持配置不Copy到class path中?
disconf.enable_local_download_dir_in_class_path 这个配置不能生效!

为了线上应用的安全性,数据库密码和其它配置的信息都是保密的,一般会把配置放在一个一般用户没有权限的目录下,而应用对一般有用是开放的,如果配置被copy到classpath下,安全性大大降低。

是否考虑支持该特性?从user_define_download_dir加载配置,而不是Copy到class path

能支持公共配置么

现实使用中,同1个产品会有很多模块,然后同1个环境中,这些模块可能都有一些公共的配置(譬如数据库配置)又有模块自己本身的配置;想问一下,这种情况下,有没有办法把公共的配置抽取开来?然后支持多个disconf.properties或者说配置文件里面支持配置多个env或者版本之类;

权限检查不通过,无法添加新的应用

Hi,手动创建了数据表role/role_resource并增加了记录进行关联,METHOD_MASK改为0123,记录如下:
0 0 /api/app 0123 2015-09-21 16:18:10
发现代码中下面这行:
public static final char METHOD_IS_ACCESSIBLE = '1';
只允许访问方法PUT,这是什么缘故?

看代码,上述配置在解析时只会把PUT方法加入缓存,当前台视图创建APP的时候发现是POST方法,无法通过检查,莫非这是disconf有意为之?

web模块是不是缺少一套缺省的properties的配置文件

lz你好,在disconf-web的部署说明那部分里,说道:

配置文件包括:

  • jdbc-mysql.properties (数据库配置)
  • redis-config.properties (Redis配置)
  • zoo.properties (Zookeeper配置)
  • application.properties (应用配置)

我在想是不是有一套缺省配置的demo,好让大家可以对着properties的key配置自己的环境,
如果没有这样4个示例文件的话,而是自己各自填的话,lz的程序启动时,怎么读取db信息,zk信息,redis信息等等,上群里问了下,没人搭理,只要来提iss,望lz见谅~~~

可以考虑不指定PO的DB字段,同时升级缺省的mysql驱动

Hi,我认为指定了PO的DB字段就限制了数据库名字,使用上不太方便。我在部署第一套环境的时候已经创建了数据库(名称不是disconf),这会导致功能不可用。可以考虑在jdbc-mysql.properties中直接指定url就行,这样可以进一步放宽使用限制。另外,disconf缺省使用的是mysql的connector,这个遵循的开源协议时GPL,建议改成mariadb,这个遵循的Apache License 2.0开源协议,目前使用mariadb的用户应该更多。

添加配置项异常

当添加配置的value有字符"/"

disconf-web 无法正常显示

|----/disconf/redis-demo_1.0.0_local
|----file
|----redis.properties
|----slimina_0_dab369bc-7834-4ad4-8c3c-8004dddefd37 {"redis.host":"192.168.1.90","redis.port":6379}
|----item
|----user.name
|----slimina_0_dab369bc-7834-4ad4-8c3c-8004dddefd37 tomcater\

Disconf 一处硬编码问题com.baidu.disconf.core.common.restful.impl.RestfulMgrImpl

com.baidu.disconf.core.common.restful.impl.RestfulMgrImpl
private File retryDownload(String fileName, RemoteUrl remoteUrl, int retryTimes, int retrySleepSeconds)
throws Exception {

    String tmpFileDir = "./disconf/download";   //为什么要硬编码………………  有没有考虑到可能有问题
    String tmpFilePath = OsUtil.pathJoin(tmpFileDir, fileName);
    String tmpFilePathUnique = MyStringUtils.getRandomName(tmpFilePath);
    File tmpFilePathUniqueFile = new File(tmpFilePathUnique);
    retry4ConfDownload(remoteUrl, tmpFilePathUniqueFile, retryTimes, retrySleepSeconds);

    return tmpFilePathUniqueFile;
}

Disconf的配置不能被注入Spring的environment

问题如题,有什么好的解决方法吗?
在Spring中直接使用@Autowired Environment不能获取到disconf托管的配置

目前我是自己重写了Spring的PropertySourcesPlaceholderConfiguer,在加载disconf的配置时候注入Environment,不过这种方法也有缺陷,Environment的初始化在ApplicaitonEnvironmentPrepare的时候,早于Spring的Bean的初始化,这样会导致disconf的配置不能在Environment初始化的时候加载,一些依赖Environment的系统配置不能被加载,例如SpringBoot的server.port。

我的Spring版本是4.1.x,目前的解决方案是把Spring的application.properties放在本地,不使用discount托管!

disconf是否有支持git托管计划呢

开源的Spring Cloud Config已经支持将配置文件持久化到GIT服务器了,这个对于配置文件的管理确实是个优势,disconf是否有考虑将配置文件托管在Git服务器上呢?

spring版本问题

项目用的spring 4.1.2版本,发现按照xml reload配置,无法reload,重启后生效。
把spring版本下降至和demo中的版本一样,3.1.2,可以reload。
在demo环境中,修改了spring版本至4.1.2,问题同样重现。
还未找出原因,能否看下是什么问题?希望能支持高版本

disconf-web在多个实例的情况下,用户session会失效

比如一个 http://127.0.0.1 同时路由到2个tomcat的disconf实例,在disconf-web成功登录后,再刷新 api/account/session 马上就失效了(单实例无影响)

nginx配置类似于

upstream disconf {
      server 127.0.0.1:8080;
          server 127.0.0.1:8081;
 }

server {
    listen   80;
    location / {
        root /data/tomcat/webapps/disconf-war/html;

        if ($query_string) {
            expires max;
        }
    }

    location ~ ^/(api|export) {
        proxy_pass_header Server;
        proxy_set_header Host $http_host;
        proxy_redirect off;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Scheme $scheme;
        proxy_pass http://disconf;
    }
}

编译出错org.xml.sax.SAXParseException; systemId: http://www.springframework.org/schema/mvc/spring-mvc.xsd; lineNumber: 24; columnNumber: 20; cos-all-limited.1.2

D:\software\apache-tomcat-7.0.61\bin\catalina.bat run
[2015-09-10 05:13:55,123] Artifact disconf-web:war exploded: Server is not connected. Deploy is not available.
Using CATALINA_BASE: "C:\Users\Ozz8.IntelliJIdea14\system\tomcat\Unnamed_disconf-base"
Using CATALINA_HOME: "D:\software\apache-tomcat-7.0.61"
Using CATALINA_TMPDIR: "D:\software\apache-tomcat-7.0.61\temp"
Using JRE_HOME: "C:\Program Files\Java\jdk1.7.0_67"
Using CLASSPATH: "D:\software\apache-tomcat-7.0.61\bin\bootstrap.jar;D:\software\apache-tomcat-7.0.61\bin\tomcat-juli.jar"
Connected to the target VM, address: '127.0.0.1:61149', transport: 'socket'
九月 10, 2015 5:13:56 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Server version: Apache Tomcat/7.0.61
九月 10, 2015 5:13:56 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Server built: Mar 27 2015 12:03:56 UTC
九月 10, 2015 5:13:56 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Server number: 7.0.61.0
九月 10, 2015 5:13:56 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: OS Name: Windows 8.1
九月 10, 2015 5:13:56 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: OS Version: 6.3
九月 10, 2015 5:13:56 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Architecture: amd64
九月 10, 2015 5:13:56 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Java Home: C:\Program Files\Java\jdk1.7.0_67\jre
九月 10, 2015 5:13:56 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: JVM Version: 1.7.0_67-b01
九月 10, 2015 5:13:56 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: JVM Vendor: Oracle Corporation
九月 10, 2015 5:13:56 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: CATALINA_BASE: C:\Users\Ozz8.IntelliJIdea14\system\tomcat\Unnamed_disconf-base
九月 10, 2015 5:13:56 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: CATALINA_HOME: D:\software\apache-tomcat-7.0.61
九月 10, 2015 5:13:56 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:61149,suspend=y,server=n
九月 10, 2015 5:13:56 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Dcom.sun.management.jmxremote=
九月 10, 2015 5:13:56 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Dcom.sun.management.jmxremote.port=1099
九月 10, 2015 5:13:56 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Dcom.sun.management.jmxremote.ssl=false
九月 10, 2015 5:13:56 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Dcom.sun.management.jmxremote.authenticate=false
九月 10, 2015 5:13:56 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Djava.rmi.server.hostname=127.0.0.1
九月 10, 2015 5:13:56 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Djava.util.logging.config.file=C:\Users\Ozz8.IntelliJIdea14\system\tomcat\Unnamed_disconf-base\conf\logging.properties
九月 10, 2015 5:13:56 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
九月 10, 2015 5:13:56 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Djava.endorsed.dirs=D:\software\apache-tomcat-7.0.61\endorsed
九月 10, 2015 5:13:56 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Dcatalina.base=C:\Users\Ozz8.IntelliJIdea14\system\tomcat\Unnamed_disconf-base
九月 10, 2015 5:13:56 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Dcatalina.home=D:\software\apache-tomcat-7.0.61
九月 10, 2015 5:13:56 下午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Djava.io.tmpdir=D:\software\apache-tomcat-7.0.61\temp
九月 10, 2015 5:13:56 下午 org.apache.catalina.core.AprLifecycleListener lifecycleEvent
信息: Loaded APR based Apache Tomcat Native library 1.1.33 using APR version 1.5.1.
九月 10, 2015 5:13:56 下午 org.apache.catalina.core.AprLifecycleListener lifecycleEvent
信息: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
九月 10, 2015 5:13:56 下午 org.apache.catalina.core.AprLifecycleListener initializeSSL
信息: OpenSSL successfully initialized (OpenSSL 1.0.1m 19 Mar 2015)
九月 10, 2015 5:13:56 下午 org.apache.coyote.AbstractProtocol init
信息: Initializing ProtocolHandler ["http-apr-8080"]
九月 10, 2015 5:13:56 下午 org.apache.coyote.AbstractProtocol init
信息: Initializing ProtocolHandler ["ajp-apr-8009"]
九月 10, 2015 5:13:56 下午 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 1092 ms
九月 10, 2015 5:13:56 下午 org.apache.catalina.core.StandardService startInternal
信息: Starting service Catalina
九月 10, 2015 5:13:56 下午 org.apache.catalina.core.StandardEngine startInternal
信息: Starting Servlet Engine: Apache Tomcat/7.0.61
九月 10, 2015 5:13:57 下午 org.apache.coyote.AbstractProtocol start
信息: Starting ProtocolHandler ["http-apr-8080"]
九月 10, 2015 5:13:57 下午 org.apache.coyote.AbstractProtocol start
信息: Starting ProtocolHandler ["ajp-apr-8009"]
九月 10, 2015 5:13:57 下午 org.apache.catalina.startup.Catalina start
信息: Server startup in 35 ms
Connected to server
[2015-09-10 05:13:57,263] Artifact disconf-web:war exploded: Artifact is being deployed, please wait...
九月 10, 2015 5:13:58 下午 org.apache.catalina.loader.WebappClassLoader validateJarFile
信息: validateJarFile(D:\codes\opensource\disconf\disconf-web\target\disconf-web\WEB-INF\lib\servlet-api-2.5.jar) - jar not loaded. See Servlet Spec 3.0, section 10.7.2. Offending class: javax/servlet/Servlet.class
九月 10, 2015 5:14:00 下午 org.apache.catalina.core.ApplicationContext log
信息: No Spring WebApplicationInitializer types detected on classpath
2015-09-10 17:14:02,037 [RMI TCP Connection(3)-127.0.0.1] INFO com.baidu.dsp.common.listener.StartupListener - Load StartupListener start...
2015-09-10 17:14:02,044 [RMI TCP Connection(3)-127.0.0.1] INFO com.baidu.dsp.common.listener.StartupListener - Load StartupListener end...
九月 10, 2015 5:14:02 下午 org.apache.catalina.core.ApplicationContext log
信息: Initializing Spring root WebApplicationContext
2015-09-10 17:14:02,046 [RMI TCP Connection(3)-127.0.0.1] INFO context.ContextLoader (ContextLoader.java:285) - Root WebApplicationContext: initialization started
2015-09-10 17:14:02,142 [RMI TCP Connection(3)-127.0.0.1] INFO support.XmlWebApplicationContext (AbstractApplicationContext.java:510) - Refreshing Root WebApplicationContext: startup date [Thu Sep 10 17:14:02 CST 2015]; root of context hierarchy
2015-09-10 17:14:02,181 [RMI TCP Connection(3)-127.0.0.1] INFO xml.XmlBeanDefinitionReader (XmlBeanDefinitionReader.java:317) - Loading XML bean definitions from URL [file:/D:/codes/opensource/disconf/disconf-web/target/disconf-web/WEB-INF/classes/applicationContext.xml]
九月 10, 2015 5:14:08 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory D:\software\apache-tomcat-7.0.61\webapps\manager
九月 10, 2015 5:14:08 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deployment of web application directory D:\software\apache-tomcat-7.0.61\webapps\manager has finished in 95 ms
2015-09-10 17:14:08,756 [RMI TCP Connection(3)-127.0.0.1] ERROR context.ContextLoader (ContextLoader.java:331) - Context initialization failed
org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 24 in XML document from URL [file:/D:/codes/opensource/disconf/disconf-web/target/disconf-web/WEB-INF/classes/applicationContext.xml] is invalid; nested exception is org.xml.sax.SAXParseException; systemId: http://www.springframework.org/schema/mvc/spring-mvc.xsd; lineNumber: 24; columnNumber: 20; cos-all-limited.1.2: An ''all'' model group must appear in a particle with '{'min occurs'}'='{'max occurs'}'=1, and that particle must be part of a pair which constitutes the '{'content type'}' of a complex type definition.
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:399)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:336)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:304)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:181)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:217)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:188)
at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:125)
at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:94)
at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:129)
at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:537)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:452)
at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:403)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106)
at com.baidu.dsp.common.listener.ContextListener.contextInitialized(ContextListener.java:21)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5016)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5528)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1779)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:301)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:618)
at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:565)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
九月 10, 2015 5:14:08 下午 org.apache.catalina.core.StandardContext listenerStart
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
严重: Exception sending context initialized event to listener instance of class com.baidu.dsp.common.listener.ContextListener
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:301)
org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 24 in XML document from URL [file:/D:/codes/opensource/disconf/disconf-web/target/disconf-web/WEB-INF/classes/applicationContext.xml] is invalid; nested exception is org.xml.sax.SAXParseException; systemId: http://www.springframework.org/schema/mvc/spring-mvc.xsd; lineNumber: 24; columnNumber: 20; cos-all-limited.1.2: An ''all'' model group must appear in a particle with '{'min occurs'}'='{'max occurs'}'=1, and that particle must be part of a pair which constitutes the '{'content type'}' of a complex type definition.
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:399)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:336)
at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1487)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:304)
at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:97)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:181)
at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1328)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:217)
at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1420)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:188)
at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:848)
at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:125)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:94)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:129)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:537)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:452)
at sun.rmi.transport.Transport$1.run(Transport.java:177)
at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:403)
at sun.rmi.transport.Transport$1.run(Transport.java:174)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306)
at java.security.AccessController.doPrivileged(Native Method)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106)
at sun.rmi.transport.Transport.serviceCall(Transport.java:173)
at com.baidu.dsp.common.listener.ContextListener.contextInitialized(ContextListener.java:21)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5016)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:556)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5528)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:811)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:670)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
at java.lang.Thread.run(Thread.java:745)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
Caused by: org.xml.sax.SAXParseException; systemId: http://www.springframework.org/schema/mvc/spring-mvc.xsd; lineNumber: 24; columnNumber: 20; cos-all-limited.1.2: An ''all'' model group must appear in a particle with '{'min occurs'}'='{'max occurs'}'=1, and that particle must be part of a pair which constitutes the '{'content type'}' of a complex type definition.
at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1779)
at org.apache.xerces.parsers.DOMParser.parse(DOMParser.java:267)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:201)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at org.springframework.beans.factory.xml.DefaultDocumentLoader.loadDocument(DefaultDocumentLoader.java:76)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadDocument(XmlBeanDefinitionReader.java:429)
at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:301)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:391)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
... 57 more
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:618)
at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:565)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:301)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1487)
at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:97)
at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1328)
at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1420)
at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:848)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322)
at sun.rmi.transport.Transport$1.run(Transport.java:177)
at sun.rmi.transport.Transport$1.run(Transport.java:174)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:173)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:556)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:811)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:670)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.xml.sax.SAXParseException; systemId: http://www.springframework.org/schema/mvc/spring-mvc.xsd; lineNumber: 24; columnNumber: 20; cos-all-limited.1.2: An ''all'' model group must appear in a particle with '{'min occurs'}'='{'max occurs'}'=1, and that particle must be part of a pair which constitutes the '{'content type'}' of a complex type definition.
at org.apache.xerces.parsers.DOMParser.parse(DOMParser.java:267)
at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:201)
at org.springframework.beans.factory.xml.DefaultDocumentLoader.loadDocument(DefaultDocumentLoader.java:76)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadDocument(XmlBeanDefinitionReader.java:429)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:391)
... 57 more

九月 10, 2015 5:14:08 下午 org.apache.catalina.core.StandardContext startInternal
严重: Error listenerStart
九月 10, 2015 5:14:08 下午 org.apache.catalina.core.StandardContext startInternal
严重: Context [] startup failed due to previous errors
九月 10, 2015 5:14:08 下午 org.apache.catalina.core.ApplicationContext log
信息: Closing Spring root WebApplicationContext
2015-09-10 17:14:08,769 [RMI TCP Connection(3)-127.0.0.1] INFO support.XmlWebApplicationContext (AbstractApplicationContext.java:862) - Closing Root WebApplicationContext: startup date [Thu Sep 10 17:14:02 CST 2015]; root of context hierarchy
2015-09-10 17:14:08,781 [RMI TCP Connection(3)-127.0.0.1] WARN support.XmlWebApplicationContext (AbstractApplicationContext.java:872) - Exception thrown from ApplicationListener handling ContextClosedEvent
java.lang.IllegalStateException: ApplicationEventMulticaster not initialized - call 'refresh' before multicasting events via the context: Root WebApplicationContext: startup date [Thu Sep 10 17:14:02 CST 2015]; root of context hierarchy
at org.springframework.context.support.AbstractApplicationContext.getApplicationEventMulticaster(AbstractApplicationContext.java:344)
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:331)
at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:869)
at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:836)
at org.springframework.web.context.ContextLoader.closeWebApplicationContext(ContextLoader.java:579)
at org.springframework.web.context.ContextLoaderListener.contextDestroyed(ContextLoaderListener.java:115)
at com.baidu.dsp.common.listener.ContextListener.contextDestroyed(ContextListener.java:16)
at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:5063)
at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5723)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:160)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1779)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:301)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:618)
at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:565)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:301)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1487)
at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:97)
at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1328)
at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1420)
at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:848)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322)
at sun.rmi.transport.Transport$1.run(Transport.java:177)
at sun.rmi.transport.Transport$1.run(Transport.java:174)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:173)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:556)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:811)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:670)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
2015-09-10 17:14:08,784 [RMI TCP Connection(3)-127.0.0.1] WARN support.XmlWebApplicationContext (AbstractApplicationContext.java:880) - Exception thrown from LifecycleProcessor on context close
java.lang.IllegalStateException: LifecycleProcessor not initialized - call 'refresh' before invoking lifecycle methods via the context: Root WebApplicationContext: startup date [Thu Sep 10 17:14:02 CST 2015]; root of context hierarchy
at org.springframework.context.support.AbstractApplicationContext.getLifecycleProcessor(AbstractApplicationContext.java:357)
at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:877)
at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:836)
at org.springframework.web.context.ContextLoader.closeWebApplicationContext(ContextLoader.java:579)
at org.springframework.web.context.ContextLoaderListener.contextDestroyed(ContextLoaderListener.java:115)
at com.baidu.dsp.common.listener.ContextListener.contextDestroyed(ContextListener.java:16)
at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:5063)
at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5723)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:160)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1779)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:301)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
九月 10, 2015 5:14:08 下午 org.apache.catalina.core.StandardContext listenerStop
严重: Exception sending context destroyed event to listener instance of class com.baidu.dsp.common.listener.ContextListener
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
java.lang.IllegalStateException: BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContext
at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:618)
at org.springframework.context.support.AbstractRefreshableApplicationContext.getBeanFactory(AbstractRefreshableApplicationContext.java:170)
at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:565)
at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:908)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:884)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:836)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at org.springframework.web.context.ContextLoader.closeWebApplicationContext(ContextLoader.java:579)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.springframework.web.context.ContextLoaderListener.contextDestroyed(ContextLoaderListener.java:115)
at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:301)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
at com.baidu.dsp.common.listener.ContextListener.contextDestroyed(ContextListener.java:16)
at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:5063)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5723)
at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1487)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:97)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:160)
at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1328)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1420)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:848)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1779)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.lang.reflect.Method.invoke(Method.java:606)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at sun.rmi.transport.Transport$1.run(Transport.java:177)
at java.lang.reflect.Method.invoke(Method.java:606)
at sun.rmi.transport.Transport$1.run(Transport.java:174)
at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:301)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
at sun.rmi.transport.Transport.serviceCall(Transport.java:173)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:556)
at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:618)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:811)
at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:565)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:670)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at java.lang.Thread.run(Thread.java:745)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:301)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1487)
at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:97)
at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1328)
at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1420)
at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:848)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322)
at sun.rmi.transport.Transport$1.run(Transport.java:177)
at sun.rmi.transport.Transport$1.run(Transport.java:174)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:173)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:556)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:811)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:670)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)

[2015-09-10 05:14:08,828] Artifact disconf-web:war exploded: Error during artifact deployment. See server log for details.

ScanMgrImpl.java中的secondScan( )方法中有代码错误

public void secondScan() throws Exception {

        // 不开启disconf则不需要处理回调
        if (!DisClientConfig.getInstance().ENABLE_DISCONF) {

            if (scanModel == null) {
                synchronized(scanModel) {
                    // 下载模块必须先初始化
                    if (scanModel == null) {
                        throw new Exception("You should run first scan before second Scan");
                    }
                }
            }

            // 将回调函数实例化并写入仓库
            ScanDynamicStoreAdapter.scanUpdateCallbacks(scanModel);
        }
    }

**if (!DisClientConfig.getInstance().ENABLE_DISCONF)**判断条件写反了......

zoo.properties

zoo.properties 里面的两个属性什么意思,应该如何配置。
zookeeper如何配置启动,能给个例子吗?

部署文档好像有点简单

比如tomcat的详细配置。6,7,8每个版本的配置都不太一样,能否说明是在哪个版本下。
比如文档中的 application.demo.properties这些配置文件样例模板在哪copy之类的。

按照部署文档折腾一上午啦。

对于RestfulMgrImpl的疑问

问题1:RestfulMgrImpl
这里用静态变量没有看明白,因为ConfigLoaderUtils的CLASS_PATH是静态初始化的。类被载入的时候就有值了,因为getLocalDownloadFileInClasspath方法中用到。这里是通过什么原理判断这一次是使用classpath的呢?是不是应该用参数中的isTransfer2Classpath呢?

问题2:
在每个获取资源的方法,都是直接取RemoteUrl#getUrls,然后遍历url,但是取到一个之后就直接return了
这里的url是同一个资源分布在不同的url上边吗?

disconf-web创建新的app失败

在AppController 的方法 JsonObjectBase create(@Valid AppNewForm appNewForm) 中 发现 从web前端传过来的appNewForm 为空对象。 还需要修改其他的 配置信息吗?

JavaBean property 'locations' being accessed! Ambiguous write methods found next to actually used

因bean ReloadablePropertiesFactoryBean 有属性locations和 Spring中的**PropertyPlaceholderConfigurer**属性有冲突,在启动的时候经常出现下面警告,如果出现警告连接不到web后台配置

WARN GenericTypeAwarePropertyDescriptor:116 - Invalid JavaBean property 'locations' being accessed! Ambiguous write methods found next to actually used [public void com.baidu.disconf.client.addons.properties.ReloadablePropertiesFactoryBean.setLocations(java.util.List)]: [public void org.springframework.core.io.support.PropertiesLoaderSupport.setLocations(org.springframework.core.io.Resource[])

按照disconf-web/README.md部署以后无法登陆

首先,感谢disconf的各位大牛的无私奉献,我的问题RT:

以下是我的部分分析:

我看到登陆请求为:/api/account/signin
那么按照README.md的步骤,nginx负责前端页面请求,tomcat负责后端业务逻辑处理,理论上这个已经是跨域;没有指定完整的请求路径则意味着/api/account/signin和login.html同属一个域,但实际上,两个服务器分别负责前后端则必然是不同的域,起码不可能同时在一个端口上启动监听,所以README.md部署说明和前端AJAX请求看起来是矛盾的。

所以请disconf的设计人员看看,这个是否有问题?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.