ServiceFramework
ServiceFramework copied to clipboard
见鬼的获取配置问题
hi....allwefantasy. 请求一个配置问题:
今天我在conf/application.yml 中的datasources内添加了2个数据源,可是配置文件里面为啥死活就是获取不到,很是不解。。请帮忙看看。
development: datasources: mysql: host: 192.168.56.56 port: 3306 database: wow username: admin password: 123456 mongodb: host: 192.168.56.56 port: 27017 database: data_center redis: host: 192.168.56.56 port: 6372 amazons3: group: s3 bucket: test hdfs: host: 192.168.56.56 port: 9200
代码 Settings st = JPA.getSettings(); String param = st.get(“development.datasources.redis.port”); //这样可以获取到 6372
为啥下面就获取不到呢??? String param = st.get(“development.datasources.hdfs.port”); //这样是 null String param = st.get(“redis.port”); //这样是 null
是哪个地方有缓存的么,还是咋个说。。。。郁闷的很。 还有其实如果没有使用mysql数据源的话,功能就没有必要初始化 hibernate的一堆东西,搞的服务器启动超级慢,几十秒,无法忍受。。。。。。。而且还暂用资源,不一定虽有的人都会使用Mysql作为数据源。
先说你的第一个问题,yaml文件目前最大的问题就是缩进。绝对不能包含tab符号,要用空格。刚才我了下添加你的配置, 有问题,发现了tab符号。你将他们删除换成空格就好。我这边已经通过了。
在 2012-10-23,下午2:03,xinqiyang [email protected] 写道:
从图片可以看到取到了 wow.
第二个问题: 我这启动非常快哦。我这启动jetty 基本一到两秒搞定。测试也没有是非常快的。
估计可能因为你数据库链接的地址有错误或者什么的,导致很慢。这个等我mongodb的一完成(或许晚上有时间就改掉) 我就立马根据配置来设置是否初始化比如数据库,mongodb的初始化等。
hi....allwefantasy. 请求一个配置问题:
今天我在conf/application.yml 中的datasources内添加了2个数据源,可是配置文件里面为啥死活就是获取不到,很是不解。。请帮忙看看。
development: datasources: mysql: host: 192.168.56.56 port: 3306 database: wow username: admin password: 123456 mongodb: host: 192.168.56.56 port: 27017 database: data_center redis: host: 192.168.56.56 port: 6372 amazons3: group: s3 bucket: test hdfs: host: 192.168.56.56 port: 9200
代码 Settings st = JPA.getSettings(); String param = st.get(“development.datasources.redis.port”); //这样可以获取到 6372
为啥下面就获取不到呢??? String param = st.get(“development.datasources.hdfs.port”); //这样是 null String param = st.get(“redis.port”); //这样是 null
是哪个地方有缓存的么,还是咋个说。。。。郁闷的很。 还有其实如果没有使用mysql数据源的话,功能就没有必要初始化 hibernate的一堆东西,搞的服务器启动超级慢,几十秒,无法忍受。。。。。。。而且还暂用资源,不一定虽有的人都会使用Mysql作为数据源。
— Reply to this email directly or view it on GitHub.
建议将配置文件替换成原样,然后手工把新的配置添加上去。复制黏贴往往是万恶之源 呵呵 在 2012-10-23,下午2:15,祝 海林 [email protected] 写道:
先说你的第一个问题,yaml文件目前最大的问题就是缩进。绝对不能包含tab符号,要用空格。刚才我了下添加你的配置, 有问题,发现了tab符号。你将他们删除换成空格就好。我这边已经通过了。
<PastedGraphic-1.tiff> 在 2012-10-23,下午2:03,xinqiyang [email protected] 写道:
从图片可以看到取到了 wow.
第二个问题: 我这启动非常快哦。我这启动jetty 基本一到两秒搞定。测试也没有是非常快的。
估计可能因为你数据库链接的地址有错误或者什么的,导致很慢。这个等我mongodb的一完成(或许晚上有时间就改掉) 我就立马根据配置来设置是否初始化比如数据库,mongodb的初始化等。
hi....allwefantasy. 请求一个配置问题:
今天我在conf/application.yml 中的datasources内添加了2个数据源,可是配置文件里面为啥死活就是获取不到,很是不解。。请帮忙看看。
development: datasources: mysql: host: 192.168.56.56 port: 3306 database: wow username: admin password: 123456 mongodb: host: 192.168.56.56 port: 27017 database: data_center redis: host: 192.168.56.56 port: 6372 amazons3: group: s3 bucket: test hdfs: host: 192.168.56.56 port: 9200
代码 Settings st = JPA.getSettings(); String param = st.get(“development.datasources.redis.port”); //这样可以获取到 6372
为啥下面就获取不到呢??? String param = st.get(“development.datasources.hdfs.port”); //这样是 null String param = st.get(“redis.port”); //这样是 null
是哪个地方有缓存的么,还是咋个说。。。。郁闷的很。 还有其实如果没有使用mysql数据源的话,功能就没有必要初始化 hibernate的一堆东西,搞的服务器启动超级慢,几十秒,无法忍受。。。。。。。而且还暂用资源,不一定虽有的人都会使用Mysql作为数据源。
— Reply to this email directly or view it on GitHub.
感谢回复,配置问题,我重新写了一份配置文件解决了,手贱了,死在TAB符上了。汗了,对yaml没有啥好感。
第二个速度慢,首先我的jetty启动就很慢,大概要10秒钟的样子。
接下来好不容易打了2条启动成功的log之后,发现我curl请求一下,请求结束了,都打印了请求时间的了, 下面的Hibernate的东西就出来了,我就没跟是在那里初始化这些东西,虽然是启动后第一次请求的时候出现这些。 但是感觉是真的很没有必要的。
在请求的生命周期里面,希望能够尽量的少做一些无用的事情,特别是这样的耗时大户。。。。 从下面的Log中来看,我没有访问相关的model层的BlogTag之类的,为啥还会初始化呢?
[2012-10-23 16:36:22,665][INFO ][com.bitcloud.controller.cloud.Test] params :development.hdfs.port [2012-10-23 16:36:22,667][INFO ][com.bitcloud.controller.cloud.Test] ------------out------- [2012-10-23 16:36:22,671][INFO ][com.bitcloud.controller.cloud.Test] 9200 [2012-10-23 16:36:22,681][INFO ][com.bitcloud.controller.cloud.Test] execute time:[20] [2012-10-23 16:36:25,549][INFO ][org.hibernate.annotations.common.Version] HCANN000001: Hibernate Commons Annotations {4.0.1.Final} [2012-10-23 16:36:25,743][INFO ][org.hibernate.Version ] HHH000412: Hibernate Core {4.1.3.Final} [2012-10-23 16:36:25,817][INFO ][org.hibernate.cfg.Environment] HHH000206: hibernate.properties not found [2012-10-23 16:36:25,845][INFO ][org.hibernate.cfg.Environment] HHH000021: Bytecode provider name : javassist [2012-10-23 16:36:39,084][WARN ][org.hibernate.cfg.annotations.EntityBinder] HHH000081: @org.hibernate.annotations.Entity used on a non root entity: ignored for com.bitcloud.model.BlogTag [2012-10-23 16:36:39,089][WARN ][org.hibernate.cfg.AnnotationBinder] HHH000139: Illegal use of @Table in a subclass of a SINGLE_TABLE hierarchy: com.bitcloud.model.BlogTag [2012-10-23 16:36:39,252][WARN ][org.hibernate.cfg.annotations.EntityBinder] HHH000081: @org.hibernate.annotations.Entity used on a non root entity: ignored for com.bitcloud.model.NewsTag [2012-10-23 16:36:39,264][WARN ][org.hibernate.cfg.AnnotationBinder] HHH000139: Illegal use of @Table in a subclass of a SINGLE_TABLE hierarchy: com.bitcloud.model.NewsTag [2012-10-23 16:36:39,797][WARN ][org.hibernate.service.jdbc.connections.internal.ConnectionProviderInitiator] HHH000022: c3p0 properties were encountered, but the org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider provider class was not found on the classpath; these properties are going to be ignored. [2012-10-23 16:36:39,838][INFO ][org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl] HHH000402: Using Hibernate built-in connection pool (not for production use!) [2012-10-23 16:36:39,842][INFO ][org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl] HHH000115: Hibernate connection pool size: 20 [2012-10-23 16:36:39,846][INFO ][org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl] HHH000006: Autocommit mode: true [2012-10-23 16:36:39,855][INFO ][org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl] HHH000401: using driver [com.mysql.jdbc.Driver] at URL [jdbc:mysql://192.168.56.56/wow] [2012-10-23 16:36:39,861][INFO ][org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl] HHH000046: Connection properties: {user=admin, password=****, autocommit=true, release_mode=auto} [2012-10-23 16:36:51,229][INFO ][org.hibernate.dialect.Dialect] HHH000400: Using dialect: org.hibernate.dialect.MySQLDialect [2012-10-23 16:36:51,494][INFO ][org.hibernate.engine.jdbc.internal.LobCreatorBuilder] HHH000423: Disabling contextual LOB creation as JDBC driver reported JDBC version [3] less than 4 [2012-10-23 16:36:51,802][INFO ][org.hibernate.engine.transaction.internal.TransactionFactoryInitiator] HHH000268: Transaction strategy: org.hibernate.engine.transaction.internal.jdbc.JdbcTransactionFactory [2012-10-23 16:36:51,922][INFO ][org.hibernate.hql.internal.ast.ASTQueryTranslatorFactory] HHH000397: Using ASTQueryTranslatorFactory
感谢 allwefantasy......
呵呵 这个问题确实是个问题。因为这个框架脱胎自另外一个项目,并且是花几周时间整理出来的,所以肯定还不是非常完备(因为毕竟是针对特定项目的)。
关于这个初始化的问题我打算添加一个配置选项,比如mysql.disable=true 之类的。
至于你为什么启动这么慢,真的是蛮神奇的一件事情。因为在我的机器上,真的是瞬间的。而且访问后,hibernate初始化也很快。不超过一秒,而且只有一次。 所以我当时就没有做类似jrebel的那种工作。每次直接重启jetty 快的已经不需要代码自动生效了。
ps:有任何问题都可以问我。只有大家不断提出问题,才能让这个框架越来越好用。Java的互联网应用开发早该改改了
在 2012-10-23,下午3:53,xinqiyang [email protected] 写道:
感谢回复,配置问题,我重新写了一份配置文件解决了,手贱了,死在TAB符上了。汗了,对yaml没有啥好感。
第二个速度慢,首先我的jetty启动就很慢,大概要10秒钟的样子。
接下来好不容易打了2条启动成功的log之后,发现我curl请求一下,请求结束了,都打印了请求时间的了, 下面的Hibernate的东西就出来了,我就没跟是在那里初始化这些东西,虽然是启动后第一次请求的时候出现这些。 但是感觉是真的很没有必要的。
在请求的生命周期里面,希望能够尽量的少做一些无用的事情,特别是这样的耗时大户。。。。 从下面的Log中来看,我没有访问相关的model层的BlogTag之类的,为啥还会初始化呢?
[2012-10-23 16:36:22,665][INFO ][com.bitcloud.controller.cloud.Test] params :development.hdfs.port [2012-10-23 16:36:22,667][INFO ][com.bitcloud.controller.cloud.Test] ------------out------- [2012-10-23 16:36:22,671][INFO ][com.bitcloud.controller.cloud.Test] 9200 [2012-10-23 16:36:22,681][INFO ][com.bitcloud.controller.cloud.Test] execute time:[20] [2012-10-23 16:36:25,549][INFO ][org.hibernate.annotations.common.Version] HCANN000001: Hibernate Commons Annotations {4.0.1.Final} [2012-10-23 16:36:25,743][INFO ][org.hibernate.Version ] HHH000412: Hibernate Core {4.1.3.Final} [2012-10-23 16:36:25,817][INFO ][org.hibernate.cfg.Environment] HHH000206: hibernate.properties not found [2012-10-23 16:36:25,845][INFO ][org.hibernate.cfg.Environment] HHH000021: Bytecode provider name : javassist [2012-10-23 16:36:39,084][WARN ][org.hibernate.cfg.annotations.EntityBinder] HHH000081: @org.hibernate.annotations.Entity used on a non root entity: ignored for com.bitcloud.model.BlogTag [2012-10-23 16:36:39,089][WARN ][org.hibernate.cfg.AnnotationBinder] HHH000139: Illegal use of @Table in a subclass of a SINGLE_TABLE hierarchy: com.bitcloud.model.BlogTag [2012-10-23 16:36:39,252][WARN ][org.hibernate.cfg.annotations.EntityBinder] HHH000081: @org.hibernate.annotations.Entity used on a non root entity: ignored for com.bitcloud.model.NewsTag [2012-10-23 16:36:39,264][WARN ][org.hibernate.cfg.AnnotationBinder] HHH000139: Illegal use of @Table in a subclass of a SINGLE_TABLE hierarchy: com.bitcloud.model.NewsTag [2012-10-23 16:36:39,797][WARN ][org.hibernate.service.jdbc.connections.internal.ConnectionProviderInitiator] HHH000022: c3p0 properties were encountered, but the org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider provider class was not found on the classpath; these properties are going to be ignored. [2012-10-23 16:36:39,838][INFO ][org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl] HHH000402: Using Hibernate built-in connection pool (not for production use!) [2012-10-23 16:36:39,842][INFO ][org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl] HHH000115: Hibernate connection pool size: 20 [2012-10-23 16:36:39,846][INFO ][org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl] HHH000006: Autocommit mode: true [2012-10-23 16:36:39,855][INFO ][org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl] HHH000401: using driver [com.mysql.jdbc.Driver] at URL [jdbc:mysql://192.168.56.56/wow] [2012-10-23 16:36:39,861][INFO ][org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl] HHH000046: Connection properties: {user=admin, password=****, autocommit=true, release_mode=auto} [2012-10-23 16:36:51,229][INFO ][org.hibernate.dialect.Dialect] HHH000400: Using dialect: org.hibernate.dialect.MySQLDialect [2012-10-23 16:36:51,494][INFO ][org.hibernate.engine.jdbc.internal.LobCreatorBuilder] HHH000423: Disabling contextual LOB creation as JDBC driver reported JDBC version [3] less than 4 [2012-10-23 16:36:51,802][INFO ][org.hibernate.engine.transaction.internal.TransactionFactoryInitiator] HHH000268: Transaction strategy: org.hibernate.engine.transaction.internal.jdbc.JdbcTransactionFactory [2012-10-23 16:36:51,922][INFO ][org.hibernate.hql.internal.ast.ASTQueryTranslatorFactory] HHH000397: Using ASTQueryTranslatorFactory
感谢 allwefantasy......
— Reply to this email directly or view it on GitHub.
@xinqiyang 临时解决了你的问题。你可以通过 (development|production).datasources.mysql.disable=true 来避免对mysql orm的激活。 已经发布到master分支了。
@allwefantasy 威武......修改的真的挺及时的。 V5...V5....