锘??xml version="1.0" encoding="utf-8" standalone="yes"?>国产午夜亚洲精品不卡电影,色婷婷六月亚洲婷婷丁香,亚洲国产av美女网站http://www.tkk7.com/crazycy/archive/2014/10/02/418449.htmlcrazycycrazycyThu, 02 Oct 2014 09:56:00 GMThttp://www.tkk7.com/crazycy/archive/2014/10/02/418449.htmlhttp://www.tkk7.com/crazycy/comments/418449.htmlhttp://www.tkk7.com/crazycy/archive/2014/10/02/418449.html#Feedback0http://www.tkk7.com/crazycy/comments/commentRss/418449.htmlhttp://www.tkk7.com/crazycy/services/trackbacks/418449.html
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.4:war (default-war) on project TradingLink: Error assembling WAR: webxml attribute is required (or pre-existing WEB-INF/web.xml if executing in update mode)

Cause:
maven鐨剋eb欏圭洰榛樿鐨剋ebroot鏄湪src\main\webapp銆傚鏋滃湪姝ょ洰褰曚笅鎵句笉鍒皐eb.xml灝辨姏鍑轟互涓婄殑寮傚父銆?/div>
Solution:
闇瑕佸湪pom.xml涓鍔?lt;webResources>閰嶇疆錛屽涓嬶細(xì)

 <build>  
<plugins>  
    <plugin>  
        <groupId>org.apache.maven.plugins</groupId>  
        <artifactId>maven-war-plugin</artifactId>  
        <version>2.4</version>  
        <configuration>  
            <webResources>  
                <resource>                      
                    <directory>WebContent</directory>  
                </resource>  
            </webResources>  
        </configuration>  
    </plugin>  
</plugins>  
</build>  


鎴栬呭鍔?lt;webXml>閰嶇疆錛屽涓嬶細(xì)

<build>  
<plugins>  
    <plugin>  
        <groupId>org.apache.maven.plugins</groupId>  
        <artifactId>maven-war-plugin</artifactId>  
        <version>2.4</version>  
        <configuration>  
               <webXml>WebContent\WEB-INF\web.xml</webXml>            
        </configuration>  
    </plugin>  
</plugins>  
</build>  


crazycy 2014-10-02 17:56 鍙戣〃璇勮
]]>SpringMVC+MyBatis - 13 鍥炲ご鐪媠pring mvc:annotation-driven瀵瑰簲鐨勬秷鎭漿鎹紙鍖呭惈鏃ユ湡澶勭悊錛?緋誨垪12鐨勫己鍖?/title><link>http://www.tkk7.com/crazycy/archive/2014/07/16/415864.html</link><dc:creator>crazycy</dc:creator><author>crazycy</author><pubDate>Tue, 15 Jul 2014 18:04:00 GMT</pubDate><guid>http://www.tkk7.com/crazycy/archive/2014/07/16/415864.html</guid><wfw:comment>http://www.tkk7.com/crazycy/comments/415864.html</wfw:comment><comments>http://www.tkk7.com/crazycy/archive/2014/07/16/415864.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/crazycy/comments/commentRss/415864.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/crazycy/services/trackbacks/415864.html</trackback:ping><description><![CDATA[     鎽樿: 褰撳垵閰嶇疆springmvc鐨勬椂鍊欙紝鍥犱負(fù)鏄涓嬈′嬌鐢╯pringmvc錛屼負(fù)鍥懼揩鎹鳳紝鍥犺屽ぇ閲忎粠緗戜笂鏌ユ壘鍏ラ棬淇℃伅銆傞仐鎲劇殑鏄紝緗戜笂鐨勯厤緗湡鏄簲鑺卞叓闂紝璁╂垜褰誨簳鍑屼貢銆傝嚦浠婇槄璇繪枃绔犱笉灝戜簬300浣欑瘒錛屽洖澶撮傚綋鏁寸悊涓嬭繖涓俿pring mvc鐨刴vc:annotation-driven浠ュ強(qiáng)鏃ユ湡鐨勫鐞嗘憳鑷猦ttp://blog.csdn.net/xiejx618/article/details/24745207 &...  <a href='http://www.tkk7.com/crazycy/archive/2014/07/16/415864.html'>闃呰鍏ㄦ枃</a><img src ="http://www.tkk7.com/crazycy/aggbug/415864.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/crazycy/" target="_blank">crazycy</a> 2014-07-16 02:04 <a href="http://www.tkk7.com/crazycy/archive/2014/07/16/415864.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>SpringMVC+MyBatis - 12 spring mvc4榪斿洖鐨刯son鏃ユ湡涓篖ong鐨勮В鍐蟲柟妗?/title><link>http://www.tkk7.com/crazycy/archive/2014/07/15/415839.html</link><dc:creator>crazycy</dc:creator><author>crazycy</author><pubDate>Tue, 15 Jul 2014 06:30:00 GMT</pubDate><guid>http://www.tkk7.com/crazycy/archive/2014/07/15/415839.html</guid><wfw:comment>http://www.tkk7.com/crazycy/comments/415839.html</wfw:comment><comments>http://www.tkk7.com/crazycy/archive/2014/07/15/415839.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/crazycy/comments/commentRss/415839.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/crazycy/services/trackbacks/415839.html</trackback:ping><description><![CDATA[     鎽樿: Spring MVC 4.X ResponseBody 鏃ユ湡綾誨瀷Json 澶勭悊鎽樿嚜http://tramp-zzy.iteye.com/blog/2090330  2014-07-10鏂規(guī)硶涓錛氬叏灞澶勭悊Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/...  <a href='http://www.tkk7.com/crazycy/archive/2014/07/15/415839.html'>闃呰鍏ㄦ枃</a><img src ="http://www.tkk7.com/crazycy/aggbug/415839.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/crazycy/" target="_blank">crazycy</a> 2014-07-15 14:30 <a href="http://www.tkk7.com/crazycy/archive/2014/07/15/415839.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>SpringMVC+MyBatis - 11 SiteMash鐨勪竴涓皬闄烽槺http://www.tkk7.com/crazycy/archive/2014/07/14/415775.htmlcrazycycrazycyMon, 14 Jul 2014 06:39:00 GMThttp://www.tkk7.com/crazycy/archive/2014/07/14/415775.htmlhttp://www.tkk7.com/crazycy/comments/415775.htmlhttp://www.tkk7.com/crazycy/archive/2014/07/14/415775.html#Feedback3http://www.tkk7.com/crazycy/comments/commentRss/415775.htmlhttp://www.tkk7.com/crazycy/services/trackbacks/415775.html
璋冭瘯鍒板噷鏅?鐐瑰錛屼粖澶╂亶鐒跺彂鐜?br />
<script type="text/javascript" src="${ctx}/javascript/jquery.min.js"/>
鐨勬渶鍚?#8220;/"鏄孩鑹茬殑銆?br />
鐒跺悗鐢ㄨ兘閫氳繃鐨勯〉闈㈡瘮杈冿紝鍞竴鐨勫樊寮傛槸錛?br />鑳芥樉紺虹殑欏甸潰
<script type="text/javascript" src="${ctx}/javascript/jquery.min.js"></script>
涓嶈兘鏄劇ず鐨勯〉闈?/span>
<script type="text/javascript" src="${ctx}/javascript/jquery.min.js"/>

鎵浠ラ棶棰樿В鍐充簡


crazycy 2014-07-14 14:39 鍙戣〃璇勮
]]>
SpringMVC+MyBatis - 10 I18N鏍囩鐨勪嬌鐢?/title><link>http://www.tkk7.com/crazycy/archive/2014/07/13/415745.html</link><dc:creator>crazycy</dc:creator><author>crazycy</author><pubDate>Sun, 13 Jul 2014 08:35:00 GMT</pubDate><guid>http://www.tkk7.com/crazycy/archive/2014/07/13/415745.html</guid><wfw:comment>http://www.tkk7.com/crazycy/comments/415745.html</wfw:comment><comments>http://www.tkk7.com/crazycy/archive/2014/07/13/415745.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/crazycy/comments/commentRss/415745.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/crazycy/services/trackbacks/415745.html</trackback:ping><description><![CDATA[SpringMVC鍙互浣跨敤濡備笅涓や釜鏍囩<br />Spring TLD: <spring:message code="{message.key}"/><br />JSTL TLD:   <fmt:message key="{message.key"}/><br /><br />浣嗘槸鎴戜滑浼?xì)閬囧堫C互鍚庣殑闂錛?nbsp;<br />JSTL鐨勬爣絳炬病鏈夎В鏋愭垚鍔?br /><br />瑙e喅鍔炴硶鏈変簩錛?br /><br />鍏朵竴錛?nbsp;<br /><div><fmt:setBundle basename="{classpath of .propertity file}" var="lang"/></div><div><span style="font-size: 14px;"><fmt:message key="{message.key"} bundle="lang"/></span><br /><br /><span style="font-size: 14px;">鍏朵簩錛?/span><br /><span style="font-size: 14px;">涓轟粈涔圫pring:message鍙互</span><br /><span style="font-size: 14px;">鍥犱負(fù)鎴戜滑瀹氫箟浜嗭細(xì)</span><br /><div><bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">  </div><div><span style="font-size: 14px; white-space: pre;"> </span><span style="font-size: 14px;"><property name="basenames"></span></div><div><span style="white-space:pre"> </span><list></div><div><span style="white-space:pre"> </span><value>classpath:org/i18n/message</value></div><div><span style="white-space:pre"> </span><value>classpath:org/i18n/pagelabel</value></div><div><span style="white-space:pre"> </span></list></div><div><span style="white-space:pre"> </span></property>   </div><div>     <span style="white-space:pre"> </span><property name="defaultEncoding" value="UTF-8"/> </div><div>        <property name="cacheSeconds" value="0" />  </div><div>     <span style="white-space:pre"> </span><property name="useCodeAsDefaultMessage" value="true" /> </div><div></bean> <br />鎵浠ユ垜浠湁鐞嗙敱鐢ㄥ悓鏍風(fēng)殑鏂瑰紡鍘諱負(fù)fmt瀹氫箟<br />  <span style="font-size: 14px;"><context-param></span></div><div><span style="white-space:pre"> </span>    <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name></div><div><div style="display: inline-block;"><span style="white-space: pre;"> </span>    <param-value>org.i18n.message</param-value></div></div><span style="white-space: pre;"> </span>    <param-value>org.i18n.pagelabel</param-value><br /><div></div><div><span style="white-space:pre"> </span></context-param><br />搴旇闂涓嶅ぇ浜?br /><br />鍙傝冿細(xì)<span style="font-size: 14px;">http://stackoverflow.com/questions/12470928/jstl-resource-bundle-for-internationalization-and-localization</span><br /></div></div><img src ="http://www.tkk7.com/crazycy/aggbug/415745.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/crazycy/" target="_blank">crazycy</a> 2014-07-13 16:35 <a href="http://www.tkk7.com/crazycy/archive/2014/07/13/415745.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>SpringMVC+MyBatis - 9 Spring鐨凟nCache(Shiro Cache鐨勮В鍐蟲柟妗堟槸鍩轟簬榪欎釜鏂囩珷鐨?http://www.tkk7.com/crazycy/archive/2014/07/13/415740.htmlcrazycycrazycySat, 12 Jul 2014 16:32:00 GMThttp://www.tkk7.com/crazycy/archive/2014/07/13/415740.htmlhttp://www.tkk7.com/crazycy/comments/415740.htmlhttp://www.tkk7.com/crazycy/archive/2014/07/13/415740.html#Feedback0http://www.tkk7.com/crazycy/comments/commentRss/415740.htmlhttp://www.tkk7.com/crazycy/services/trackbacks/415740.htmlIf you look around the web for examples of using Spring 3.1’s built in caching then you’ll usually bump into Spring’sSimpleCacheManager, which the Guys at Spring say is “Useful for testing or simple caching declarations”. I actually prefer to think ofSimpleCacheManager as lightweight rather than simple; useful in those situations where you want a small in memory cache on a per JVM basis. If the Guys at Spring were running a supermarket then SimpleCacheManagerwould be in their own brand ‘basics’ product range.

If, on the other hand, you need a heavy duty cache, one that’s scalable, persistent and distributed, then Spring also comes with a built inehCache wrapper.

The good news is that swapping between Spring's caching implementations is easy. In theory it’s all a matter of configuration and, to prove the theory correct, I took the sample code from my Caching and @Cacheable blog and ran it using an EhCache implementation.

The configuration steps are similar to those described in my last blog Caching and Config in that you still need to specify:

<cache:annotation-driven /> 

...in your Spring config file to switch caching on. You also need to define a bean with an id of cacheManager, only this time you reference Spring’s EhCacheCacheManager class instead of SimpleCacheManager.

<bean id="cacheManager"     
class="org.springframework.cache.ehcache.EhCacheCacheManager"
p:cacheManager-ref="ehcache"/>

The example above demonstrates an EhCacheCacheManager configuration. Notice that it references a second bean with an id of 'ehcache'. This is configured as follows:

<bean id="ehcache" 
class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"
p:configLocation="ehcache.xml"
p:shared="true"/>

"ehcache" has two properties: configLocation and shared.

'configLocation' is an optional attribute that’s used to specify the location of an ehcache configuration file. In my test code I used the following example file:
<?xml version="1.0" encoding="UTF-8"?>
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd">
    <defaultCache eternal="true" maxElementsInMemory="100" overflowToDisk="false" />
    <cache name="employee" maxElementsInMemory="10000" eternal="true" overflowToDisk="false" />
</ehcache>
...which creates two caches: a default cache and one named “employee”.

If this file is missing then the EhCacheManagerFactoryBean simply picks up a default ehcache config file: ehcache-failsafe.xml, which is located in ehcache’s ehcache-core jar file.

The other EhCacheManagerFactoryBean attribute is 'shared'. This is supposed to be optional as the documentation states that it defines "whether the EHCache CacheManager should be shared (as a singleton at the VM level) or independent (typically local within the application). Default is 'false', creating an independent instance.” However, if this is set to false then you’ll get the following exception: 
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.cache.interceptor.CacheInterceptor#0': Cannot resolve reference to bean 'cacheManager' while setting bean property 'cacheManager'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'cacheManager' defined in class path resource [ehcache-example.xml]: Cannot resolve reference to bean 'ehcache' while setting bean property 'cacheManager'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ehcache' defined in class path resource [ehcache-example.xml]: Invocation of init method failed; nested exception is net.sf.ehcache.CacheException: Another unnamed CacheManager already exists in the same VM. Please provide unique names for each CacheManager in the config or do one of following:
1. Use one of the CacheManager.create() static factory methods to reuse same CacheManager with same name or create one if necessary
2. Shutdown the earlier cacheManager before creating new one with same name.
The source of the existing CacheManager is: InputStreamConfigurationSource [stream=java.io.BufferedInputStream@424c414]
 at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328)
 at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1360)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1118)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
 stack trace shortened for clarity
 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'cacheManager' defined in class path resource [ehcache-example.xml]: Cannot resolve reference to bean 'ehcache' while setting bean property 'cacheManager'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ehcache' defined in class path resource [ehcache-example.xml]: Invocation of init method failed; nested exception is net.sf.ehcache.CacheException: Another unnamed CacheManager already exists in the same VM. Please provide unique names for each CacheManager in the config or do one of following:
1. Use one of the CacheManager.create() static factory methods to reuse same CacheManager with same name or create one if necessary
2. Shutdown the earlier cacheManager before creating new one with same name.
The source of the existing CacheManager is: InputStreamConfigurationSource [stream=java.io.BufferedInputStream@424c414]
 at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328)
 at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1360)
 stack trace shortened for clarity
 at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
 at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322)
  38 more
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ehcache' defined in class path resource [ehcache-example.xml]: Invocation of init method failed; nested exception is net.sf.ehcache.CacheException: Another unnamed CacheManager already exists in the same VM. Please provide unique names for each CacheManager in the config or do one of following:
1. Use one of the CacheManager.create() static factory methods to reuse same CacheManager with same name or create one if necessary
2. Shutdown the earlier cacheManager before creating new one with same name.
The source of the existing CacheManager is: InputStreamConfigurationSource [stream=java.io.BufferedInputStream@424c414]
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1455)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
 at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
 at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
 at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
 at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
 at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322)
  48 more
Caused by: net.sf.ehcache.CacheException: Another unnamed CacheManager already exists in the same VM. Please provide unique names for each CacheManager in the config or do one of following:
1. Use one of the CacheManager.create() static factory methods to reuse same CacheManager with same name or create one if necessary
2. Shutdown the earlier cacheManager before creating new one with same name.
The source of the existing CacheManager is: InputStreamConfigurationSource [stream=java.io.BufferedInputStream@424c414]
 at net.sf.ehcache.CacheManager.assertNoCacheManagerExistsWithSameName(CacheManager.java:521)
 at net.sf.ehcache.CacheManager.init(CacheManager.java:371)
 at net.sf.ehcache.CacheManager.(CacheManager.java:339)
 at org.springframework.cache.ehcache.EhCacheManagerFactoryBean.afterPropertiesSet(EhCacheManagerFactoryBean.java:104)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1514)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1452)
  55 more
...when you try to run a bunch of unit tests.

I think that this comes down to a simple bug Spring’s the ehcache manager factory as it’s trying to create multiple cache instances usingnew() rather than using, as the exception states, “one of the CacheManager.create() static factory methods" which allows it to reuse same CacheManager with same name. Hence, my first JUnit test works okay, but all others fail.


The offending line of code is:

this.cacheManager = (this.shared ? CacheManager.create() : new CacheManager()); 

My full XML config file is listed below for completeness:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" 
  xmlns:p="http://www.springframework.org/schema/p"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:cache="http://www.springframework.org/schema/cache" 
  xmlns:context="http://www.springframework.org/schema/context"
   xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
     http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd
        http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache.xsd">
 
  <!-- Switch on the Caching -->
   <cache:annotation-driven />

 <!-- Do the component scan path -->
 <context:component-scan base-package="caching" />

 <bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheCacheManager" 
  p:cacheManager-ref="ehcache"/>
 
 <bean id="ehcache" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean" 
     p:configLocation="ehcache.xml"  
     p:shared="true"/> 
</beans>

鏂囩珷鎽樿嚜 http://www.captaindebug.com/2012/09/spring-31-caching-and-ehcache.html#.U8FilfmSxZW


crazycy 2014-07-13 00:32 鍙戣〃璇勮
]]>
SpringMVC+MyBatis - 8 Shiro寮傚父錛欵hCache initialization exception: Another unnamed CacheManager already exists in the same VMhttp://www.tkk7.com/crazycy/archive/2014/07/13/415739.htmlcrazycycrazycySat, 12 Jul 2014 16:07:00 GMThttp://www.tkk7.com/crazycy/archive/2014/07/13/415739.htmlhttp://www.tkk7.com/crazycy/comments/415739.htmlhttp://www.tkk7.com/crazycy/archive/2014/07/13/415739.html#Feedback0http://www.tkk7.com/crazycy/comments/commentRss/415739.htmlhttp://www.tkk7.com/crazycy/services/trackbacks/415739.htmlEhCache initialization exception: Another unnamed CacheManager already exists in the same VM
鍏蜂綋閿欒濡備笅錛?br />
Another CacheManager with same name 'cacheManager' already exists in the same VM. Please > provide unique names for each CacheManager in the config or do one of following: 
1. Use one of the CacheManager.create() static factory methods to reuse same CacheManager with same name or create one if necessary 
2. Shutdown the earlier cacheManager before creating new one with same name. The source of the existing CacheManager is: DefaultConfigurationSource [ ehcache.xml or ehcache-failsafe.xml ]

涓鑸潗鏂欐槸榪欐牱璇寸殑錛?br />
<bean id="ehCacheManager" 
    class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"
    p:configLocation="classpath:org/tradinglink/cache/echcache-shiro.xml"
    p:shared="true"/>

浣嗘槸緇忚繃瀹炶返鏄榪欐牱鍋氱殑錛?br />
<bean id="shiroEncacheManager" class="org.apache.shiro.cache.ehcache.EhCacheManager">
<property name="cacheManager" ref="ehCacheManager"/>
</bean>
<bean id="ehCacheManager" 
    class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"
    p:configLocation="classpath:org/tradinglink/cache/echcache-shiro.xml"
    p:shared="true"/>

涓孌靛叧浜庡畬鏁寸殑閰嶇疆濡備笅
<bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">
<property name="securityManager" ref="securityManager" />
<property name="loginUrl" value="/login.jsp" />
<property name="successUrl" value="/index.jsp" />
<property name="unauthorizedUrl" value="/unauthorized.jsp" />
<property name="filters">
<map>
<entry key="authc" value-ref="formAuthenticationFilter"></entry>
</map>
</property>
<!-- will config in db, and then read into filterChainDefinitionsMap property -->
<property name="filterChainDefinitions">
<value>
/login = authc
/logout = logout
/resource/** = anon
/images/**= anon
/css/**= anon
/javascript/**= anon
<!-- /welcome = perms[accout:edit] -->
<!-- /security/account/view.do=authc,perms[SECURITY_ACCOUNT_VIEW] -->
/** = anon
</value>
</property>
</bean>

<!--涓孌靛叧浜?/span>securityManager鐨勫畬鏁寸殑閰嶇疆濡備笅-->
<bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager">
    <property name="realm" ref="myRealm"/>
    <property name="sessionMode" value="native"/>
    <property name="sessionManager" ref="sessionManager"/>
    <property name="cacheManager" ref="cacheManager"/>
</bean>

<bean id="cacheManager" class="org.apache.shiro.cache.ehcache.EhCacheManager">
    <property name="cacheManager" ref="ehCacheManager"/>
</bean>

<bean id="ehCacheManager" 
    class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"/>

<bean id="sessionManager"
    class="org.apache.shiro.web.session.mgt.DefaultWebSessionManager">
    <property name="sessionDAO" ref="sessionDAO"/>
</bean>

<bean id="sessionDAO" 
    class="org.apache.shiro.session.mgt.eis.EnterpriseCacheSessionDAO">
    <property name="activeSessionsCacheName" value="shiro-activeSessionCache" />
</bean>
<bean id="myRealm" class="com.foo.MyRealm"/>


crazycy 2014-07-13 00:07 鍙戣〃璇勮
]]>
SpringMVC+MyBatis - 6 SpringMVC Restful椋庢牸涓嬬殑闈欐佽祫婧?/title><link>http://www.tkk7.com/crazycy/archive/2014/07/12/415736.html</link><dc:creator>crazycy</dc:creator><author>crazycy</author><pubDate>Sat, 12 Jul 2014 15:31:00 GMT</pubDate><guid>http://www.tkk7.com/crazycy/archive/2014/07/12/415736.html</guid><wfw:comment>http://www.tkk7.com/crazycy/comments/415736.html</wfw:comment><comments>http://www.tkk7.com/crazycy/archive/2014/07/12/415736.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/crazycy/comments/commentRss/415736.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/crazycy/services/trackbacks/415736.html</trackback:ping><description><![CDATA[<p style="margin-top: 10px; margin-bottom: 10px; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; font-size: 14.399999618530273px; line-height: 20.15999984741211px; background-color: #ffffff;">      浼橀泤REST椋庢牸鐨勮祫婧怳RL涓嶅笇鏈涘甫 .html 鎴?.do 絳夊悗緙.鐢變簬鏃╂湡鐨凷pring MVC涓嶈兘寰堝ソ鍦板鐞嗛潤鎬佽祫婧愶紝鎵浠ュ湪web.xml涓厤緗瓺ispatcherServlet鐨勮姹傛槧灝勶紝寰寰浣跨敤 *.do 銆?*.xhtml絳夋柟寮忋傝繖灝卞喅瀹氫簡璇鋒眰URL蹇呴』鏄竴涓甫鍚庣紑鐨刄RL錛岃屾棤娉曢噰鐢ㄧ湡姝g殑REST椋庢牸鐨刄RL銆?/p><p style="margin-top: 10px; margin-bottom: 10px; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; font-size: 14.399999618530273px; line-height: 20.15999984741211px; background-color: #ffffff;">     濡傛灉灝咲ispatcherServlet璇鋒眰鏄犲皠閰嶇疆涓?/"錛屽垯Spring MVC灝嗘崟鑾稺eb瀹瑰櫒鎵鏈夌殑璇鋒眰錛屽寘鎷潤鎬佽祫婧愮殑璇鋒眰錛孲pring MVC浼?xì)灏嗗畠浠綋鎴愪竴涓櫘閫氳姹傚鐞嗭紝鍥犳鎵句笉鍒板搴斿鐞嗗櫒灝嗗鑷撮敊璇?/p><p style="margin-top: 10px; margin-bottom: 10px; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; font-size: 14.399999618530273px; line-height: 20.15999984741211px; background-color: #ffffff;">    濡備綍璁㏒pring妗嗘灦鑳藉鎹曡幏鎵鏈塙RL鐨勮姹傦紝鍚屾椂鍙堝皢闈欐佽祫婧愮殑璇鋒眰杞敱Web瀹瑰櫒澶勭悊錛屾槸鍙皢DispatcherServlet鐨勮姹傛槧灝勯厤緗負(fù)"/"鐨勫墠鎻愩傜敱浜嶳EST鏄疭pring3.0鏈閲嶈鐨勫姛鑳戒箣涓錛屾墍浠pring鍥㈤槦寰堢湅閲嶉潤鎬佽祫婧愬鐞嗚繖欏逛換鍔★紝緇欏嚭浜嗗牚縐扮粡鍏哥殑涓ょ瑙e喅鏂規(guī)銆?/p><p style="margin-top: 10px; margin-bottom: 10px; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; font-size: 14.399999618530273px; line-height: 20.15999984741211px; background-color: #ffffff;">鍏堣皟鏁磜eb.xml涓殑DispatcherServlet鐨勯厤緗紝浣垮叾鍙互鎹曡幏鎵鏈夌殑璇鋒眰錛?/p><div style="margin: 5px 0px; font-size: 12px !important;"><div style="margin: 5px 0px 0px;"><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->     <servlet><br />        <servlet-name>springMVC</servlet-name><br />        <servlet-<span style="color: #0000FF; ">class</span>>org.springframework.web.servlet.DispatcherServlet</servlet-<span style="color: #0000FF; ">class</span>><br />        <load-on-startup>1</load-on-startup><br />    </servlet><br />    <servlet-mapping><br />        <servlet-name>springMVC</servlet-name><br />        <url-pattern>/</url-pattern><br />    </servlet-mapping></div></div></div><p style="margin-top: 10px; margin-bottom: 10px; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; font-size: 14.399999618530273px; line-height: 20.15999984741211px; background-color: #ffffff;">閫氳繃涓婇潰url-pattern鐨勯厤緗紝鎵鏈塙RL璇鋒眰閮藉皢琚玈pring MVC鐨凞ispatcherServlet鎴幏銆?/p><p style="margin-top: 10px; margin-bottom: 10px; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; font-size: 14.399999618530273px; line-height: 20.15999984741211px; background-color: #ffffff;"><strong style="margin: 0px; padding: 0px;"><br />閲囩敤<mvc:default-servlet-handler /></strong></p><p style="margin-top: 10px; margin-bottom: 10px; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; font-size: 14.399999618530273px; line-height: 20.15999984741211px; background-color: #ffffff;">鍦╯pringMVC-servlet.xml涓厤緗?lt;mvc:default-servlet-handler />鍚庯紝浼?xì)鍦⊿pring MVC涓婁笅鏂囦腑瀹氫箟涓涓猳rg.springframework.web.servlet.resource.DefaultServletHttpRequestHandler錛屽畠浼?xì)鍍忎竴涓鏌ュ憳錛屽榪涘叆DispatcherServlet鐨刄RL榪涜絳涙煡錛屽鏋滃彂鐜版槸闈欐佽祫婧愮殑璇鋒眰錛屽氨灝嗚璇鋒眰杞敱Web搴旂敤鏈嶅姟鍣ㄩ粯璁ょ殑Servlet澶勭悊錛屽鏋滀笉鏄潤鎬佽祫婧愮殑璇鋒眰錛屾墠鐢盌ispatcherServlet緇х畫澶勭悊銆?/p><p style="margin-top: 10px; margin-bottom: 10px; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; font-size: 14.399999618530273px; line-height: 20.15999984741211px; background-color: #ffffff;">涓鑸琖eb搴旂敤鏈嶅姟鍣ㄩ粯璁ょ殑Servlet鍚嶇О鏄?default"錛屽洜姝efaultServletHttpRequestHandler鍙互鎵懼埌瀹冦傚鏋滀綘鎵鏈夌殑Web搴旂敤鏈嶅姟鍣ㄧ殑榛樿Servlet鍚嶇О涓嶆槸"default"錛屽垯闇瑕侀氳繃default-servlet-name灞炴ф樉紺烘寚瀹氾細(xì)<br /></p><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><mvc:resources location="/,classpath:/META-INF/publicResources/" mapping="/resources/**"/></div><p style="margin-top: 10px; margin-bottom: 10px; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; font-size: 14.399999618530273px; line-height: 20.15999984741211px; background-color: #ffffff;"><strong style="font-size: 14.399999618530273px; margin: 0px; padding: 0px;"><br />閲囩敤<mvc:resources /></strong></p><p style="margin-top: 10px; margin-bottom: 10px; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; font-size: 14.399999618530273px; line-height: 20.15999984741211px; background-color: #ffffff;"><mvc:default-servlet-handler />灝嗛潤鎬佽祫婧愮殑澶勭悊緇忕敱Spring MVC妗嗘灦浜ゅ洖Web搴旂敤鏈嶅姟鍣ㄥ鐞嗐傝?lt;mvc:resources />鏇磋繘涓姝ワ紝鐢盨pring MVC妗嗘灦鑷繁澶勭悊闈欐佽祫婧愶紝騫舵坊鍔犱竴浜涙湁鐢ㄧ殑闄勫姞鍊煎姛鑳姐?/p><p style="margin-top: 10px; margin-bottom: 10px; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; font-size: 14.399999618530273px; line-height: 20.15999984741211px; background-color: #ffffff;">棣栧厛錛?lt;mvc:resources />鍏佽闈欐佽祫婧愭斁鍦ㄤ換浣曞湴鏂癸紝濡俉EB-INF鐩綍涓嬨佺被璺緞涓嬬瓑錛屼綘鐢氳嚦鍙互灝咼avaScript絳夐潤鎬佹枃浠舵墦鍒癑AR鍖呬腑銆傞氳繃location灞炴ф寚瀹氶潤鎬佽祫婧愮殑浣嶇疆錛岀敱浜巐ocation灞炴ф槸Resources綾誨瀷錛屽洜姝ゅ彲浠ヤ嬌鐢ㄨ濡?classpath:"絳夌殑璧勬簮鍓嶇紑鎸囧畾璧勬簮浣嶇疆銆備紶緇焀eb瀹瑰櫒鐨勯潤鎬佽祫婧愬彧鑳芥斁鍦╓eb瀹瑰櫒鐨勬牴璺緞涓嬶紝<mvc:resources />瀹屽叏鎵撶牬浜嗚繖涓檺鍒躲?/p><p style="margin-top: 10px; margin-bottom: 10px; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; font-size: 14.399999618530273px; line-height: 20.15999984741211px; background-color: #ffffff;">鍏舵錛?lt;mvc:resources />渚濇嵁褰撳墠钁楀悕鐨凱age Speed銆乊Slow絳夋祻瑙堝櫒浼樺寲鍘熷垯瀵歸潤鎬佽祫婧愭彁渚涗紭鍖栥備綘鍙互閫氳繃cacheSeconds灞炴ф寚瀹氶潤鎬佽祫婧愬湪嫻忚鍣ㄧ鐨勭紦瀛樻椂闂達(dá)紝涓鑸彲灝嗚鏃墮棿璁劇疆涓轟竴騫達(dá)紝浠ュ厖鍒嗗埄鐢ㄦ祻瑙堝櫒绔殑緙撳瓨銆傚湪杈撳嚭闈欐佽祫婧愭椂錛屼細(xì)鏍規(guī)嵁閰嶇疆璁劇疆濂藉搷搴旀姤鏂囧ご鐨凟xpires 鍜?Cache-Control鍊箋?/p><p style="margin-top: 10px; margin-bottom: 10px; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; font-size: 14.399999618530273px; line-height: 20.15999984741211px; background-color: #ffffff;">鍦ㄦ帴鏀跺埌闈欐佽祫婧愮殑鑾峰彇璇鋒眰鏃訛紝浼?xì)妫鏌ヨ姹傚ご鐨凩ast-Modified鍊鹼紝濡傛灉闈欐佽祫婧愭病鏈夊彂鐢熷彉鍖栵紝鍒欑洿鎺ヨ繑鍥?03鐩稿簲鐘舵佺爜錛屾彁紺哄鎴風(fēng)浣跨敤嫻忚鍣ㄧ紦瀛樼殑鏁版嵁錛岃岄潪灝嗛潤鎬佽祫婧愮殑鍐呭杈撳嚭鍒板鎴風(fēng)錛屼互鍏呭垎鑺傜渷甯﹀錛屾彁楂樼▼搴忔ц兘銆?/p><p style="margin-top: 10px; margin-bottom: 10px; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; font-size: 14.399999618530273px; line-height: 20.15999984741211px; background-color: #ffffff;">鍦╯pringMVC-servlet涓坊鍔犲涓嬮厤緗細(xì)<br /></p><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><mvc:resources location="/,classpath:/META-INF/publicResources/" mapping="/resources/**"/></div><div style="margin: 5px 0px; font-size: 12px !important;"><pre style="margin-top: 0px; margin-bottom: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-family: 'Courier New' !important; font-size: 12px !important;"><span style="background-color: #ffffff; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; font-size: 14.399999618530273px; line-height: 20.15999984741211px;">浠ヤ笂閰嶇疆灝哤eb鏍硅礬寰?/"鍙?qiáng)绫昏矾寰勪?/META-INF/publicResources/ 鐨勭洰褰曟槧灝勪負(fù)/resources璺緞銆傚亣璁網(wǎng)eb鏍硅礬寰勪笅鎷ユ湁images銆乯s榪欎袱涓祫婧愮洰褰?鍦╥mages涓嬮潰鏈塨g.gif鍥劇墖錛屽湪js涓嬮潰鏈塼est.js鏂囦歡錛屽垯鍙互閫氳繃 /resources/images/bg.gif 鍜?/resources/js/test.js 璁塊棶榪欎簩涓潤鎬佽祫婧愩?/span></pre></div><p style="margin-top: 10px; margin-bottom: 10px; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; font-size: 14.399999618530273px; line-height: 20.15999984741211px; background-color: #ffffff;">鍋囪W(wǎng)ebRoot榪樻嫢鏈塱mages/bg1.gif 鍙?js/test1.js錛屽垯涔熷彲浠ュ湪緗戦〉涓氳繃 /resources/images/bg1.gif 鍙?/resources/js/test1.js 榪涜寮曠敤銆?br /><br /></p><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->鎽樺綍浜巋ttp:<span style="color: #008000; ">//</span><span style="color: #008000; ">www.cnblogs.com/fangqi/archive/2012/10/28/2743100.html</span></div><img src ="http://www.tkk7.com/crazycy/aggbug/415736.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/crazycy/" target="_blank">crazycy</a> 2014-07-12 23:31 <a href="http://www.tkk7.com/crazycy/archive/2014/07/12/415736.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>SpringMVC+MyBatis - 5 Security-Shiro-01http://www.tkk7.com/crazycy/archive/2014/07/11/415698.htmlcrazycycrazycyFri, 11 Jul 2014 01:38:00 GMThttp://www.tkk7.com/crazycy/archive/2014/07/11/415698.htmlhttp://www.tkk7.com/crazycy/comments/415698.htmlhttp://www.tkk7.com/crazycy/archive/2014/07/11/415698.html#Feedback0http://www.tkk7.com/crazycy/comments/commentRss/415698.htmlhttp://www.tkk7.com/crazycy/services/trackbacks/415698.html闃呰鍏ㄦ枃

crazycy 2014-07-11 09:38 鍙戣〃璇勮
]]>
SpringMVC+MyBatis - 4 Spring璇鋒眰鍙傛暟http://www.tkk7.com/crazycy/archive/2014/07/09/415630.htmlcrazycycrazycyWed, 09 Jul 2014 08:32:00 GMThttp://www.tkk7.com/crazycy/archive/2014/07/09/415630.htmlhttp://www.tkk7.com/crazycy/comments/415630.htmlhttp://www.tkk7.com/crazycy/archive/2014/07/09/415630.html#Feedback0http://www.tkk7.com/crazycy/comments/commentRss/415630.htmlhttp://www.tkk7.com/crazycy/services/trackbacks/415630.html<form>
   username:<input type="text" name="userNAME">
   password:<input type="text" name="pasWD">
                <input type="button" value="submit">
</form>

鏈鍩烘湰鐨勶細(xì)渚濋潬HttpServletRequest.getParameter
@RequestMapping("/add")
public
 String addUser(HttpServletRequest req) {
   String username = req.getParameter("userNAME");
   String passwd = req.getParameter("pasWD");
   //save logic
   return "user/userinfo";
}

鏈鍩烘湰鐨勮交鏉句竴鍙橈紝鍙互鍙樻垚lightweight錛?閫氳繃@RequestParam
@RequestMapping("/add")
public String addUser(@RequestParam(value="userNAME", required=false) String username, @RequestParam(value="pasWD") String password) {
   //save logic, directly use
   return "user/userinfo";
}

鍏跺疄鍚э紝@RequestParam鏄彲浠ョ渷鎺夌殑錛屽氨鍙樻垚浜?瑕佺偣鏄彉閲忓悕瀛楃殑鍙樺寲
@RequestMapping("/add")
public String  addUser(String userNAME, String pasWD) {
   //save logic, directly use
   return "user/userinfo";
}

榪樻湁涓縐嶈礬寰勬硶@PathViable
@RequestMapping("/add/{userName}")
public String addUser(@PathVariable(value="userName") String username) {
   //save logic 
   return "user/userinfo";
}

浣跨敤.../add/zhangsan

鏆村姏鐐圭殑@ModelAttribute
Class User {
    String userNAME;
    String pasWD
}

@RequestMapping(method=RequestMethod.POST)
public String addUser(@ModelAttribute(value="user") User user) {
   //save logic 
   return "user/userinfo";
}


鍏跺疄鍚э紝@ModelAttribute鏄彲浠ョ渷鎺夌殑錛屽氨鍙樻垚浜?br />
Class User {
    String userNAME;
    String pasWD
}

@RequestMapping("/add")
public String addUser(User user) {
   //save logic 
   return "user/userinfo";
}


鎺ヤ笅鏉ュ氨鏄袱縐岮JAX鐩稿叧鐨勶細(xì)
- JSON
var name = $("#userNAME").val();
var pass = $("#pasWD").val();
var user = {userName:name, password:pass};
$.ajax({
   type:"POST",
                url:"${pageContext.request.contextPath}/user/addUser",
                data:user,
                success:function(data){
                    alert("鎴愬姛");
                },
                error:function(e) {
                    alert("鍑洪敊錛?+e);
                }
            });

@RequestMapping("/add")
public String addUser(User user) {
   //save logic 
   return "user/userinfo";
}

jQuery serializeArray()

//搴忓垪鍖栬〃鍗曞厓绱狅紝榪斿洖json鏁版嵁
 var params = $("#userForm").serializeArray();
            
//涔熷彲浠ユ妸琛ㄥ崟涔嬪鐨勫厓绱犳寜鐓ame value鐨勬牸寮忓瓨榪涙潵
//params.push({name:"hello",value:"man"});
            
            $.ajax({
                type:"POST",
                url:"${pageContext.request.contextPath}/user/addUser",
                data:params,
                success:function(data){
                    alert("鎴愬姛");
                },
                error:function(e) {
                    alert("鍑洪敊錛?+e);
                }
            });
@RequestMapping("/add")
public String addUser(User user) {
   //save logic 
   return "user/userinfo";
}


涓嬮潰鎽樺綍涓孌靛涔?fàn)绗旇?鍑哄
@RequestMapping("/somepath/{userName}") 
public String register(@PathVariable(value = "userName") String userName) { 
   ModelAndView mav = new ModelAndView(); 
   return "user/createSuccess"; 

鍦╯pringmvc娉ㄨВ鐨凘RequestMapping("/somepath/{userName}")濡備綍澶勭悊榛樿鍊肩殑鎯呭喌,姣斿鎴戝湪鍙戦佽姹傜殑鏃跺?userName鏈夋椂鍊欐槸娌℃湁鐨勶紝鎵浠ュ鍒頒簡涓嶈兘鍖歸厤榪欎釜action 
http://localhost:8080/spc/movie/somepath/灝變笉鑳藉尮閰嶄笂闈㈢殑璇鋒眰: 
http://localhost:8080/spc/movie/somepath/tom鑰岃繖涓墠鍙互鍖歸厤銆?nbsp;


@PathVariable 浼?xì)灏唘rl涓殑鍙傛暟瑙f瀽鍒板搴旂殑鏂規(guī)硶鍙傛暟涓婏紝闇瑕佸湪@RequestMapping()鎸囧畾鍖歸厤妯″紡 
@RequestMapping("somepath/{userName}") 
榪欐椂浣犺闂湴鍧"somepath/Tom"灝辮兘鎶?Tom"瑙f瀽鍒版柟娉曞弬鏁皍serName涓?nbsp;


@RequestParam鐢ㄤ簬灝嗚姹傚弬鏁板尯鏁版嵁鏄犲皠鍒板姛鑳藉鐞嗘柟娉曠殑鍙傛暟涓?nbsp;
public String requestparam2(@RequestParam("username") String username) 
璇鋒眰涓寘鍚玼sername鍙傛暟錛堝/requestparam1?username=zhang錛夛紝鍒欒嚜鍔ㄤ紶鍏ャ?nbsp;


鎺ヤ笅鏉ユ垜浠湅涓涓婡RequestParam娉ㄨВ涓昏鏈夊摢浜涘弬鏁幫細(xì) 

value錛氬弬鏁板悕瀛楋紝鍗沖叆鍙傜殑璇鋒眰鍙傛暟鍚嶅瓧錛屽username琛ㄧず璇鋒眰鐨勫弬鏁板尯涓殑鍚嶅瓧涓簎sername鐨勫弬鏁扮殑鍊煎皢浼犲叆錛?br />
required錛氭槸鍚﹀繀欏伙紝榛樿鏄痶rue錛岃〃紺鴻姹備腑涓瀹氳鏈夌浉搴旂殑鍙傛暟錛屽惁鍒欏皢鎶?04閿欒鐮侊紱 

defaultValue錛氶粯璁ゅ鹼紝琛ㄧず濡傛灉璇鋒眰涓病鏈夊悓鍚嶅弬鏁版椂鐨勯粯璁ゅ鹼紝榛樿鍊煎彲浠ユ槸SpEL琛ㄨ揪寮忥紝濡?#8220;#{systemProperties['java.vm.version']}”銆?nbsp;

public String requestparam4(@RequestParam(value="username",required=false) String username) 
琛ㄧず璇鋒眰涓彲浠ユ病鏈夊悕瀛椾負(fù)username鐨勫弬鏁幫紝濡傛灉娌℃湁榛樿涓簄ull錛屾澶勯渶瑕佹敞鎰忓涓嬪嚑鐐癸細(xì) 
    鍘熷瓙綾誨瀷錛氬繀欏繪湁鍊鹼紝鍚﹀垯鎶涘嚭寮傚父錛屽鏋滃厑璁哥┖鍊艱浣跨敤鍖呰綾諱唬鏇褲?nbsp;
    Boolean鍖呰綾誨瀷綾誨瀷錛氶粯璁oolean.FALSE錛屽叾浠栧紩鐢ㄧ被鍨嬮粯璁や負(fù)null銆?nbsp;

public String requestparam5(@RequestParam(value="username", required=true, defaultValue="zhang") String username) 
琛ㄧず濡傛灉璇鋒眰涓病鏈夊悕瀛椾負(fù)username鐨勫弬鏁幫紝榛樿鍊間負(fù)“zhang”銆?nbsp;


濡傛灉璇鋒眰涓湁澶氫釜鍚屽悕鐨勫簲璇ュ浣曟帴鏀跺憿錛熷緇欑敤鎴鋒巿鏉冩椂錛屽彲鑳芥巿浜堝涓潈闄愶紝棣栧厛鐪嬩笅濡備笅浠g爜錛?nbsp;
public String requestparam7(@RequestParam(value="role") String roleList)濡傛灉璇鋒眰鍙傛暟綾諱技浜巙rl?role=admin&rule=user錛屽垯瀹為檯roleList鍙傛暟鍏ュ弬鐨勬暟鎹負(fù)“admin,user”錛屽嵆澶氫釜鏁版嵁涔嬮棿浣跨敤“錛?#8221;鍒嗗壊錛涙垜浠簲璇ヤ嬌鐢ㄥ涓嬫柟寮忔潵鎺ユ敹澶氫釜璇鋒眰鍙傛暟錛?nbsp;
public String requestparam7(@RequestParam(value="role") String[] roleList)  
鎴?nbsp;
public String requestparam8(@RequestParam(value="list") List<String> list)  





crazycy 2014-07-09 16:32 鍙戣〃璇勮
]]>
SpringMVC+MyBatis - 1 mybatisGenerator 浠g爜鑷姩鐢熸垚鎶ラ敊 Result Maps collection already contains value for BaseResultMaphttp://www.tkk7.com/crazycy/archive/2014/07/07/415522.htmlcrazycycrazycyMon, 07 Jul 2014 02:01:00 GMThttp://www.tkk7.com/crazycy/archive/2014/07/07/415522.htmlhttp://www.tkk7.com/crazycy/comments/415522.htmlhttp://www.tkk7.com/crazycy/archive/2014/07/07/415522.html#Feedback0http://www.tkk7.com/crazycy/comments/commentRss/415522.htmlhttp://www.tkk7.com/crazycy/services/trackbacks/415522.htmljava -jar mybatis-generator-core-1.3.2.jar -configfile  {path}\generator\mybatis\generatorConfig.xml -overwrite 絎竴嬈¤繍琛屽悗錛岀▼搴忚繍琛岃壇濂?br />
鍐嶆鎵ц姝ゅ懡浠ゅ悗錛岀▼搴忓嚭鐜板紓甯革細(xì)Error parsing Mapper XML. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value

閫愪釜鏂囦歡鎺掓煡錛岀粓浜庡湪xxMapper.xml鍙戠幇浜嗛棶棰橈細(xì)
-overwrite鍙傛暟鍙java鏂囦歡璧蜂綔鐢紝鑰寈ml鍒欐槸閮ㄥ垎榪藉姞鐨勬剰鎬濄傛墍浠ユ墦寮xml鏂囦歡鍚庝細(xì)鍙戠幇涓嬮潰涓孌墊湁浜涢噸澶嶃?/u>
鎵浠ュ啀瑕侀噸鏂扮敓鎴愪唬鐮佺殑鏃跺欙紝瑕佹妸鐢熸垚鐨剎ml鍒犻櫎鎺夛紝鍐嶈繍琛岃繖涓懡浠ゃ?/div>

crazycy 2014-07-07 10:01 鍙戣〃璇勮
]]>UI Experience - 01 JQuery cannot get actual window Sizehttp://www.tkk7.com/crazycy/archive/2014/05/14/413648.htmlcrazycycrazycyWed, 14 May 2014 03:58:00 GMThttp://www.tkk7.com/crazycy/archive/2014/05/14/413648.htmlhttp://www.tkk7.com/crazycy/comments/413648.htmlhttp://www.tkk7.com/crazycy/archive/2014/05/14/413648.html#Feedback0http://www.tkk7.com/crazycy/comments/commentRss/413648.htmlhttp://www.tkk7.com/crazycy/services/trackbacks/413648.htmlalert("window height: " + $(window).height());
姣忔鑾峰緱鐨勫昂瀵擱兘涓嶄竴鏍鳳紱
楂樺害鎬鐤戞槸JQuery鐨刡ug

褰撴垜鍦╦sp/html寮澶村鍔犱簡榪欎箞涓鍙?br />
<!DOCTYPE html>
浜嬫儏鎼炲畾

鍒嗘瀽涓嬫潵鍘熷洜鏄繖鏍風(fēng)殑錛?br />
If document is running in Quirks Mode and jQuery can't calculate correct window dimensions


crazycy 2014-05-14 11:58 鍙戣〃璇勮
]]>
JBoss AS紿佺劧鍙戠幇涓嶇啛鎮(zhèn)変簡http://www.tkk7.com/crazycy/archive/2014/03/13/410985.htmlcrazycycrazycyThu, 13 Mar 2014 08:38:00 GMThttp://www.tkk7.com/crazycy/archive/2014/03/13/410985.htmlhttp://www.tkk7.com/crazycy/comments/410985.htmlhttp://www.tkk7.com/crazycy/archive/2014/03/13/410985.html#Feedback0http://www.tkk7.com/crazycy/comments/commentRss/410985.htmlhttp://www.tkk7.com/crazycy/services/trackbacks/410985.htmlThe EAP binaries have their own release cycle. The EAP 6.1 release cycle had a Alpha, a Beta which ultimately led to the 6.1 GA.

 

The 6.1 Alpha binary is made available for free (both for development and production use) to the entire community. This allows community users who have been using the community server JBoss AS (now renamed to WildFly) a chance to get the bug fixes and possibly other features which had been added while the productization work was in progress.

 

The 6.1 Beta binary is made available under the zero-dollar developer subscription scheme (the terms and conditions are herehttp://www.jboss.org/developer-program/termsandconditions). This zero dollar subscription allows users to use the binray in development environments but not in production, unless of course the user additionally is also a paid subscriber/customer of EAP.

 

The 6.1 GA binary is available for production use only for paid subscribers/customers. Zero-dollar subscribers can use it only for development purposes. In other words, the usage terms are the same as 6.1 Beta binary.



crazycy 2014-03-13 16:38 鍙戣〃璇勮
]]>
ant: failed to create task or type ifhttp://www.tkk7.com/crazycy/archive/2014/03/12/410924.htmlcrazycycrazycyWed, 12 Mar 2014 03:03:00 GMThttp://www.tkk7.com/crazycy/archive/2014/03/12/410924.htmlhttp://www.tkk7.com/crazycy/comments/410924.htmlhttp://www.tkk7.com/crazycy/archive/2014/03/12/410924.html#Feedback0http://www.tkk7.com/crazycy/comments/commentRss/410924.htmlhttp://www.tkk7.com/crazycy/services/trackbacks/410924.html
 <target name="compile-cxcdata-dao">
    <if>
      <equals arg1="${dummyDAO}" arg2="true" />
      <then>
        <ant antfile="${data.dir}/data_build.xml" target="compile-data" />
        <mkdir dir="${apps.jar.dir}" />
        <jar jarfile="${apps.jar.dir}/data.jar">
          <fileset dir="${data.classes.dir}" includes="**/*" />
        </jar>
      </then>
      <else>
        <copy todir="${apps.jar.dir}" overwrite="true">
          <fileset dir="${data.dir}" includes="**/*.jar" />
        </copy>
      </else>
    </if>
  </target>

BUILD FAILED
D:\__workspace_svn\apps\build.xml:18: The following error occurred while executing this line:
D:\__workspace_svn\apps\apps_build.xml:145: The following error occurred while executing this line:
D:\__workspace_svn\apps\apps_build.xml:100: The following error occurred while executing this line:
D:\__workspace_svn\apps\apps_build.xml:71: Problem: failed to create task or type if
Cause: The name is undefined.
Action: Check the spelling.
Action: Check that any custom tasks/types have been declared.
Action: Check that any <presetdef>/<macrodef> declarations have taken place.

Solution:
It is a compatibility issue.
1. 
Right click on build.xml.

2.
Go to "Run As" --> 2 Ant Select Classpath tab check Ant Home version (Sometimes eclipse selects default ant version).
If the version listed is different, then change Ant Home Classpath to C:\XXXX\ant\X.X.X.

3.
Finally click on the Classpath tab --> Add External JARS..--> add ant-contrib.x.x.jar from C:\XXXX\ant\X.X.X\ant-contrib\ directory.


crazycy 2014-03-12 11:03 鍙戣〃璇勮
]]>
NoSQL瀛︿範(fàn)錛堜節(jié)錛夛豢 2014騫村叓澶ф渶鐑棬鐨勫ぇ鏁版嵁宸ヤ綔http://www.tkk7.com/crazycy/archive/2014/01/19/409098.htmlcrazycycrazycySat, 18 Jan 2014 18:20:00 GMThttp://www.tkk7.com/crazycy/archive/2014/01/19/409098.htmlhttp://www.tkk7.com/crazycy/comments/409098.htmlhttp://www.tkk7.com/crazycy/archive/2014/01/19/409098.html#Feedback0http://www.tkk7.com/crazycy/comments/commentRss/409098.htmlhttp://www.tkk7.com/crazycy/services/trackbacks/409098.html2014騫村叓澶ф渶鐑棬鐨勫ぇ鏁版嵁宸ヤ綔
浣滆咃細(xì)寮犻湒 1鏈?nbsp;16, 2014
http://www.ctocio.com/ccnews/14565.html
鍘熸枃閾炬帴錛?鏂囩珷鏉ヨ嚜IT緇忕悊緗?/a>

澶ф暟鎹椂浠o紝鏁版嵁榪囧墿錛屼漢鎵嶇煭緙猴紝瓚婃潵瓚婂鐨処T涓撲笟浜哄+甯屾湜鑳藉榪涘叆鍏呮弧鏈洪亣鐨勫ぇ鏁版嵁棰嗗煙錛屼絾鏄紝鍒板簳鍝簺鍏蜂綋鐨勫ぇ鏁版嵁涓撲笟宀椾綅鍜屼漢鎵嶆渶涓哄悆棣欏憿錛熶漢鍔涜祫婧愬叕鍙窴force榪戞棩鍙戝竷浜嗕竴浠芥姤鍛婃牴鎹?a style="font-size: 1em; outline: 0px; padding: 0px; margin: 0px; border: 0px; text-decoration: none; vertical-align: baseline; color: #004276;">IT鑱屼笟钖叕姘村鉤緇欏嚭浜?014騫存渶鐑棬鐨勫崄澶уぇ鏁版嵁宸ヤ綔鑱屼綅錛堝勾钖級(jí)錛?/p>

涓銆丒TL寮鍙戣咃紙11-13涓囩編鍏冿級(jí)
闅忕潃鏁版嵁縐嶇被鐨勪笉鏂鍔狅紝浼佷笟瀵規(guī)暟鎹暣鍚堜笓涓氫漢鎵嶇殑闇姹傝秺鏉ヨ秺鏃虹洓銆侲TL寮鍙戣呬笌涓嶅悓鐨勬暟鎹潵婧愬拰緇勭粐鎵撲氦閬擄紝浠庝笉鍚岀殑婧愬ご鎶藉彇鏁版嵁錛岃漿鎹㈠茍瀵煎叆鏁版嵁浠撳簱浠ユ弧瓚充紒涓氱殑闇瑕併?/span>

ETL杞歡琛屼笟鐩稿鎴愮啛錛岀浉鍏沖矖浣嶇殑宸ヤ綔鐢熷懡鍛ㄦ湡姣旇緝闀匡紝閫氬父鐢卞唴閮ㄥ憳宸ュ拰澶栧寘鍚堝悓鍟嗕箣闂撮氬姏瀹屾垚銆侲TL浜烘墠鍦ㄥぇ鏁版嵁鏃朵唬鐐欐墜鍙儹鐨勫師鍥犱箣涓鏄細(xì)鍦ㄤ紒涓氬ぇ鏁版嵁搴旂敤鐨勬棭鏈熼樁孌碉紝Hadoop鍙槸絀蜂漢鐨凟TL銆?br />
浜屻丠adoop寮鍙戣咃紙15-17.5涓囩編鍏冿級(jí)
Hadoop鏄熀浜嶫ava鐨勫紑婧愭鏋訛紝闅忕潃鏁版嵁闆嗚妯′笉鏂澶э紝鑰屼紶緇烞I鐨勬暟鎹鐞嗘垚鏈繃楂橈紝浼佷笟瀵?/span>Hadoop鍙?qiáng)鐩稿叧鐨勫粔洵h(huán)鏁版嵁澶勭悊鎶鏈Hive銆丠Base銆丮apReduce銆丳ig絳夌殑闇姹傚皢鎸佺畫澧為暱銆傚浠婂叿澶嘓adoop妗嗘灦緇忛獙鐨勬妧鏈漢鍛樻槸鏈鎶㈡墜鐨勫ぇ鏁版嵁浜烘墠銆?br />
涓夈佸ぇ鏁版嵁鍙鍖栧伐鍏峰紑鍙戣咃紙15-17.5涓囩編鍏冿級(jí)
嫻烽噺鏁版嵁鐨勫垎鏋愭槸涓ぇ鎸戞垬錛岃?/span>鏂板瀷鏁版嵁鍙鍖栧伐鍏峰Spotifre錛孮likview鍜孴ableau鍙互鐩磋楂樻晥鍦板睍紺烘暟鎹?/strong>銆傝繃鍘伙紝鏁版嵁鍙鍖栧睘浜庡晢涓氭櫤鑳藉紑鍙戣呯被鍒紝浣嗘槸闅忕潃Hadoop鐨勫礇璧鳳紝鏁版嵁鍙鍖栧凡緇忔垚浜嗕竴欏圭嫭绔嬬殑涓撲笟鎶鑳藉拰宀椾綅銆?br />
鍥涖佹暟鎹瀛﹀錛?2-14涓囩編鍏冿級(jí)
榪囧幓涔熺О鏁版嵁鏋舵瀯甯堬紝鏁版嵁縐戝瀹舵槸涓涓叏鏂扮殑宸ョ錛岃兘澶熷皢浼佷笟鐨勬暟鎹拰鎶鏈漿鍖栦負(fù)浼佷笟鐨勫晢涓氫環(huán)鍊箋傛暟鎹瀛﹀棣栧厛搴斿綋鍏峰浼樼鐨勬矡閫氭妧鑳斤紝鑳藉鍚屾椂灝嗘暟鎹垎鏋愮粨鏋滆В閲婄粰IT閮ㄩ棬鍜屼笟鍔¢儴闂ㄩ瀵箋?/span>

鎬葷殑鏉ヨ錛屾暟鎹瀛﹀鏄垎鏋愬笀銆佽壓鏈鐨勫悎浣擄紝闇瑕佸叿澶囧縐嶄氦鍙夌瀛﹀拰鍟嗕笟鎶鑳姐?br />
浜斻丱LAP寮鍙戣咃紙9.8-11.6涓囩編鍏冿級(jí)
OLAP鍦ㄧ嚎鑱旀満鍒嗘瀽寮鍙戣咃紝璐熻矗灝嗘暟鎹粠鍏崇郴鍨嬫垨闈炲叧緋誨瀷鏁版嵁婧愪腑鎶藉彇鍑烘潵寤虹珛妯″瀷錛岀劧鍚庡垱寤烘暟鎹闂殑鐢ㄦ埛鐣岄潰錛屾彁渚涢珮鎬ц兘鐨勯瀹氫箟鏌ヨ鍔熻兘銆?/strong>

鍏佹暟鎹粨搴撲竴浣撴満涓撳錛?.8-12.4涓囩編鍏冿級(jí)
姝ょ被涓撳鐔熸?zhèn)塗eradata銆丯eteeza鍜孍xadata絳夊叕鍙哥殑澶ф暟鎹竴浣撴満銆傝兘澶熷湪榪欎簺涓浣撴満涓婂畬鎴愭暟鎹泦鎴愩佺鐞嗗拰鎬ц兘浼樺寲絳夊伐浣溿?br />
涓冦侀嫻嬪垎鏋愬紑鍙戣咃紙10-13涓囩編鍏冿級(jí)
钀ラ攢閮ㄩ棬緇忓父浣跨敤棰勬祴鍒嗘瀽棰勬祴鐢ㄦ埛琛屼負(fù)鎴栭攣瀹氱洰鏍囩敤鎴楓傞嫻嬪垎鏋愬紑鍙戣呮湁浜涘満鏅湅涓婃湁鏈変簺綾諱技鏁版嵁縐戝瀹訛紝鍗沖湪浼佷笟鍘嗗彶鏁版嵁鐨勫熀紜涓婇氳繃鍋囪鏉ユ祴璇曢槇鍊煎茍棰勬祴鏈潵鐨勮〃鐜般?br />
鍏佷俊鎭灦鏋勫笀錛?1.4-13.5涓囩編鍏冿級(jí)
澶ф暟鎹噸鏂版縺鍙戜簡涓繪暟鎹鐞嗙殑鐑疆銆傚厖鍒嗗紑鍙戝埄鐢ㄤ紒涓氭暟鎹茍鏀寔鍐崇瓥闇瑕侀潪甯鎬笓涓氱殑鎶鑳姐備俊鎭灦鏋勫笀蹇呴』浜嗚В濡備綍瀹氫箟鍜屽瓨。鍏抽敭鍏冪礌锛尲嫯淇濅互鏈鏈夋晥鐨勬柟寮忚繘琛屾暟鎹鐞嗗拰鍒╃敤銆備俊鎭灦鏋勫笀鐨勫叧閿妧鑳藉寘鎷富鏁版嵁綆$悊銆佷笟鍔$煡璇嗗拰鏁版嵁寤烘ā絳夈?/span>



crazycy 2014-01-19 02:20 鍙戣〃璇勮
]]>
NoSQL瀛︿範(fàn)錛堝叓錛夛豢 澶ф暟鎹鈥滆惤鍦扳濓紝榪樼己浜涗粈涔堬紵http://www.tkk7.com/crazycy/archive/2014/01/19/409097.htmlcrazycycrazycySat, 18 Jan 2014 17:59:00 GMThttp://www.tkk7.com/crazycy/archive/2014/01/19/409097.htmlhttp://www.tkk7.com/crazycy/comments/409097.htmlhttp://www.tkk7.com/crazycy/archive/2014/01/19/409097.html#Feedback0http://www.tkk7.com/crazycy/comments/commentRss/409097.htmlhttp://www.tkk7.com/crazycy/services/trackbacks/409097.html澶ф暟鎹“钀藉湴”錛岃繕緙轟簺浠涔?br />http://www.pingwest.com/bigdata2/

澶ф暟鎹?/span>鏄湪2013騫磋鐢ㄦ互浜嗙殑璇嶆眹錛屼絾瀹為檯涓婏紝鐢變簬鏁版嵁閲忕己澶便佸ぇ鏁版嵁娓呮礂鍜屽垎鏋愯兘鍔涗笉瓚籌紝浠ュ強(qiáng)鏁版嵁鍙鍖栫摱棰堢瓑闂錛?/span>澶ф暟鎹?/span>涓鐩存湭鑳借繜榪熻惤鍦般備即闅忕潃鍩虹璁炬柦鐨勫彂灞曪紝鎰忓懗鐫澶ф暟鎹殑鍙戝睍鍙堣蛋鍒版柊鐨勪竴涓柊鐨勪復(fù)鐣岀偣銆傜郴緇熻蔣浠朵緵搴斿晢Software AG鐨?/span>Gagan Mehra錛屽湪Venturebeat緗戠珯闃愯堪浜嗕粬瀵逛簬澶ф暟鎹帴涓嬫潵鍙戝睍鐨勮璇嗭紝浠栬涓烘洿蹇湴鏁版嵁澶勭悊銆佹洿鍙潬鐨勬暟鎹川閲忥紝浠ュ強(qiáng)鏇村姞緇嗗垎鐨勫簲鐢ㄥ競鍦猴紝鏄ぇ鏁版嵁2.0鏃朵唬鐨勯噸瑕佺壒寰併?br />

鏇村揩鐨勬暟鎹鐞嗛熷害

鐢變簬鏁版嵁閲忔寚鏁板瀷澧為暱錛屼嬌寰?/span>瀵逛簬鏁版嵁鐨勫揩閫熷垎鏋愮殑闇瑕?/strong>宸茬粡鍙樺緱姣斾互寰浠諱綍鏃跺欓兘瑕佽揩鍒囥傚嚑涔庢瘡瀹跺ぇ鏁版嵁鍘傚晢錛岄兘鎯寵鍏滃敭姣斿埆瀹跺鐞嗛熷害鏇村揩鐨勪駭鍝併?/span>Hadoop鍙戝竷鐨勬柊鍝?/span>Hadoop 2.0 / YARN錛屽嚑涔庤兘瀹炴椂鍒嗘瀽鏁版嵁銆傝屼笅涓浠eぇ鏁版嵁鐨勮綆楃壍寮曟鏋?/span>Apache Spark錛屽畠鐨勯熷害姣?/span>Hadoop蹇?/span>100鍊嶃?/span>紜呰胺椋庨櫓鎶曡祫鏈烘瀯Andreessen Horowitz錛屽凡緇忎互1400涓囩編鍏冪殑浠鋒牸錛岄鎶曚簡涓瀹朵互Apache Spark涓轟笟鍔℃牳蹇冪殑鍒濆垱浼佷笟Databricks銆備笉涔呭墠錛?/span>浜氶┈閫婁篃涓婄嚎浜嗗疄鏃舵祦鏁版嵁鏈嶅姟Kinesis錛屾潵甯姪娌℃湁鏁版嵁澶勭悊鑳藉姏鐨勫叕鍙歌В鍐寵繖涓闂銆?br />

璁稿鍒嗘瀽渚涘簲鍟嗛兘宸茬粡璁よ瘑鍒頒簡鏁版嵁澶勭悊閫熷害鐨勯噸瑕佹?/strong>錛屽茍寤虹珛浜嗚兘澶熸瘡縐掑鐞?/span>TB鏁版嵁鐨勪駭鍝併?/span>浼犳劅鍣ㄦ暟鎹垎鏋愩佺墿鑱旂綉鍦ㄥ伐涓氬拰娑堣垂綰у競鍦哄揩閫熷彂灞曠殑鍔垮ご錛岄┍鍔ㄤ簡榪欐鍙橀潻銆?/strong>姣斿涓瀹朵紒涓氱殑浼犳劅鍣紝鑳藉姣忕浜х敓鍑烘暟鐧炬鐨勪簨浠訛紝瀹炴椂澶勭悊榪欎簺鏁版嵁闅懼害寰堥珮銆傜壒鍒槸褰撳疄鏃跺鐞嗙殑浼犳劅鍣ㄦ暟鎹紝嬋澧炲埌涓澶?/span>5TB鐨勬椂鍊欙紝閫熷害錛屽氨鎴愪簡灝や負(fù)鍏抽敭鐨勬寚鏍囥?/span>


鍚屾椂錛屽敖綆℃暟鎹瓨鍌ㄦ垚鏈凡緇忕瘡騫翠笅闄嶏紝浣嗘暟鎹瓨鍌ㄧ殑璐圭敤榪樻槸涓嶅皬鐨勪竴絎旀敮鍑恒傞儴鍒嗗晢瀹剁浉姣斿瓨鍌ㄥ畬鏁存暟鎹祦鑰岃█錛屾洿鍊懼悜浜庝繚瀛樿繃婊ゆ帀鍣煶鐨勬暟鎹?br />

鏅鴻兘娓呮礂鍨冨溇鏁版嵁

鍦ㄦ湰灝遍毦浠ヨ鏁扮殑鏁版嵁閲忕戶緇互鎸囨暟妯″瀷嬋澧炴椂錛屽浜庢暟鎹川閲忕殑寮哄寲錛屼究鎽嗕笂浜嗚澶氭暟鎹緵搴斿晢鐨勮紼嬨?/span>鎹㈠彞璇濊錛屽湪搴炲ぇ鏁版嵁闈㈠墠錛屽嵆浣胯綆楁満鑳藉楂樻晥鐨勫鐞嗗畠浠紝浣嗗ぇ閲忔棤鐢ㄧ殑鍨冨溇鏁版嵁錛屽彧浼?xì)缁櫨p葷粺甯︽潵璐熸媴錛屽茍澧炴坊瀛樺偍銆佷富鏈虹瓑璁懼鎴愭湰銆?/span>榪欏氨闇瑕佹暟鎹鐞嗚繃紼嬩腑錛屾牴鎹壒瀹氱殑瑙勫垯鍜屽弬鏁幫紝瀵規(guī)秾榪涙暟鎹祦榪涜娓呮礂鍜屽垎鏋愶紝騫惰嚜鍔ㄥ喅絳栬鍘誨鐞嗗摢浜涙暟鎹紝榪欎竴鍒囦笉鍐嶉渶瑕佷漢宸ュ幓騫查銆?/span>

鍦ㄨ繖鏍風(fēng)殑鐜涓嬶紝濡傛灉閫夋嫨浜嗕竴涓潖鐨勬暟鎹紝灝變細(xì)鍍忕梾姣掍竴鏍鳳紝鍙兘寮曞彂榪炵畫鐨勯敊璇喅絳栵紝鐢氳嚦璁╀紒涓氳挋鍙楃粡嫻庢崯澶便?/span>涓涓緥瀛愬氨鏄埄鐢ㄧ畻娉曞幓榪涜鑲$エ浜ゆ槗錛屼互姣璁℃暟鑲$エ甯傚満涓紝浠諱綍涓鐐瑰皬鐨勫樊閿欙紝閮芥湁鍙兘寮曞彂鏃犳硶宸ㄥぇ鐨勬崯澶便?/strong>

鎵浠ワ紝鏁版嵁璐ㄩ噺宸叉垚涓烘湇鍔$駭鍒崗璁紙
service level agreements錛夋渶閲嶈鐨勫弬鏁頒箣涓銆傛棤娉曞睆钄藉姡璐ㄧ殑鏁版嵁鐨勪緵搴斿晢錛屼細(xì)鍥犳琚垪鍏ヨ涓氱殑榛戝悕鍗曪紝浠ュ強(qiáng)闈復(fù)涓ラ噸鐨勭粡嫻庡緗氥?/span>B2B琛屼笟涓烘棭鏈熸暟鎹川閲忕殑鍏ュ眬鑰咃紝浠栦滑闈炲父閲嶈鏁版嵁鐨勮川閲忥紝鏉ヤ繚鎸佸晢涓氳繍浣滄椂鐨勭ǔ瀹氭с傜敋鑷籌紝璁稿浼佷笟璁″垝涓烘暟鎹川閲忛儴緗插疄鏃剁殑璀﹀憡緋葷粺錛岃繖浜涜鍛婁細(xì)琚彂閫佷簬璐熻矗鐩稿簲闂鐨勪笓鍛橈紝鐢變粬浠彁渚涢棶棰樼殑瑙e喅鏂規(guī)銆?br />

鏈哄櫒瀛︿範(fàn)鏄彟涓欏歸渶瑕佷繚璇佹暟鎹川閲忕殑棰嗗煙銆傛満鍣ㄥ涔?fàn)绯痪l熼儴緗插湪涓涓棴鐜殑鐢熸佷腑錛岄氳繃妯″紡鍒嗘瀽涓庡叾浠栫殑鏁版嵁鍒嗘瀽鎶鏈紝緇嗗寲鍘熸潵鐨勬暟鎹川閲忚鍒欍傝岄珮璐ㄩ噺鐨勬暟鎹紝鑳藉淇濊瘉鏈哄櫒榪涜姝g‘鐨勮涓烘ā寮忓垎鏋愩?/span>


瓚婃潵瓚婂鐨勫熀紜搴旂敤

澶ф暟鎹甫鏉ョ殑鍙橀潻錛屼嬌寰楁瘡涓涓漢閮芥兂瑕佸埄鐢ㄥ畠錛屼絾鎶鏈笂闂ㄦ鍙堣璁稿浜轟笉寰楀凡鍙兘鍏呭綋涓涓湅瀹€傝屽簲鐢ㄥ皢鏈夊姪浜庝漢浠幓鍏嬫湇榪欎竴鍥伴毦銆傚湪鎺ヤ笅鏉ョ殑鍑犲勾涓紝鎴戜滑灝嗕細(xì)鐪嬪埌鎴愬崈涓婁竾鐨勮В鍐?/span>鏌愪竴鍨傜洿棰嗗煙鐨勪笓涓氬簲鐢?/strong>錛屼互搴斿鏉ヨ嚜鍚勮鍚勪笟鐨勫ぇ鏁版嵁鎸戞垬銆?br />

鐩墠錛屽凡緇忓皬鏈夋垚灝辯殑鏁版嵁鍒嗘瀽鍏徃鍖呮嫭eHarmony銆?/span> Roambi銆?/span> Climate Corporation絳夌瓑銆傛湭鏉ワ紝鐢氳嚦璁稿灝忎紒涓氾紝鏃笉鐢ㄤ緷璧栫壒瀹氬熀紜璁懼錛屼篃涓嶈闆囦劍涓撲笟鐨勬暟鎹瀛﹀錛屽氨鑳藉彈鐩婁簬瀵瑰ぇ鏁版嵁鍒嗘瀽鍒╃敤銆?br />

姣斿錛屼竴浜涘簲鐢ㄥ皢浠庡悇縐嶆笭閬擄紝鏀墮泦鍏寵仈鐨勫鎴鋒暟鎹紝浠ユ洿濂藉湴浜嗚В瀹㈡埛鐨勯渶姹傘備粠鑰屼紒涓氳兘澶熶負(fù)鐗瑰畾鐨勭洰鏍囧鎴鳳紝鎻愪緵鐗瑰畾闇姹傜殑浜у搧錛屾洿鏈夐拡瀵規(guī)у湴璧氬埌閽便傚綋榪欎簺搴旂敤璧拌繘浜轟滑鏃ュ父鐨勫悆鍠濈帺涔愩佸尰鐤椾繚鍋ョ瓑棰嗗煙錛岀敓媧諱篃浼?xì)鍥犳鑰屾洿緹庡ソ銆?/span>

 



crazycy 2014-01-19 01:59 鍙戣〃璇勮
]]>
NoSQL瀛︿範(fàn)錛堜竷錛塇adoop鏄暟鎹粨搴撶殑緇堢粨鑰呭悧?http://www.tkk7.com/crazycy/archive/2014/01/19/409096.htmlcrazycycrazycySat, 18 Jan 2014 17:27:00 GMThttp://www.tkk7.com/crazycy/archive/2014/01/19/409096.htmlhttp://www.tkk7.com/crazycy/comments/409096.htmlhttp://www.tkk7.com/crazycy/archive/2014/01/19/409096.html#Feedback0http://www.tkk7.com/crazycy/comments/commentRss/409096.htmlhttp://www.tkk7.com/crazycy/services/trackbacks/409096.htmlHadoop鏄暟鎹粨搴撶殑緇堢粨鑰呭悧?
2014騫?1鏈?3鏃ャ|銆浣滆咃細(xì)閭歸摦緙栬瘧銆|銆鏉ユ簮錛氱綉鐣岀綉
http://news.cnw.com.cn/news-international/htm2014/20140113_289451.shtml

銆?/span>CNW.com.cn鐙璇戠ǹ銆?/span>鍦ㄨ繃鍘諱笁騫達(dá)紝Hadoop鐢熸佺郴緇熷凡緇忓ぇ鑼冨洿鎵╁睍錛屽緢澶氫富瑕両T渚涘簲鍟嗛兘鎺ㄥ嚭浜咹adoop榪炴帴鍣紝浠ュ寮篐adoop鐨勯《灞傛灦鏋勬垨鏄緵搴斿晢鑷繁浣跨敤鐨凥adoop鍙戣鐗堛傞壌浜嶩adoop鐨勯儴緗茬巼鍛堟寚鏁扮駭鐨勫闀匡紝浠ュ強(qiáng)鍏剁敓鎬佺郴緇熶笉鏂湴娣卞叆鑰屽箍娉涘湴鍙戝睍錛屾垜浠緢鎯崇煡閬揌adoop鐨勫礇璧鋒槸鍚︿細(xì)瀵艱嚧浼犵粺鏁版嵁浠撳簱瑙e喅鏂規(guī)鐨勭粓緇撳憿銆?/span>

鎴戜滑涔熷彲浠ュ皢榪欎釜闂鏀懼埌涓涓洿澶х殑鐜涓幓璁ㄨ錛氬湪浣曠紼嬪害涓婏紝澶ф暟鎹細(xì)鏀瑰彉浼犵粺鏁版嵁鍒嗘瀽鐨勭幆澧?/span>?

鏁版嵁浠撳簱鏄妧鏈拰杞歡濂椾歡錛屽畠鑳藉浠庢搷浣滅郴緇熸敹闆嗘暟鎹紝騫跺皢榪欎簺鏁版嵁鏁村悎錛屽茍緇熶竴鍒頒腑澶暟鎹簱涓紝鐒跺悗瀵規(guī)暟鎹華琛ㄧ洏涓婃寚鏍囪繘琛屽垎鏋愩佸彲瑙嗗寲鍜岃拷韙叧閿ц兘澶勭悊銆?/span>

鏁版嵁浠撳簱鍜?/span>Hadoop涔嬮棿鐨勪富瑕佸尯鍒槸錛氭暟鎹粨搴撻氬父閮ㄧ講鍦ㄥ崟涓叧緋繪暟鎹簱涓紝鑰岃繖涓暟鎹簱鍒欒搗鍒頒腑澶瓨鍌ㄧ殑浣滅敤銆傜浉姣斾箣涓嬶紝Hadoop鍙?qiáng)鍏禜adoop鏂囦歡緋葷粺鏄法澶氫釜鏈哄櫒錛屽茍鐢ㄦ潵澶勭悊嫻烽噺鏁版嵁鐨勶紝鑰岃繖鏄換浣曞崟鍙版満鍣ㄩ兘杈句笉鍒扮殑鑳藉姏銆?/span>

姝ゅ錛?/span>Hadoop鐢熸佺郴緇熷寘鎷瀯寤哄湪Hadoop鏍稿績涔嬩笂鐨勬暟鎹粨搴撳眰/鏈嶅姟錛岃孒adoop涓婂眰鏈嶅姟鍖呮嫭SQL(Presto)銆丼QL-Like(Hive)鍜孨oSQL(Hbase)綾誨瀷鐨勬暟鎹瓨鍌?/span>銆傜浉姣斾箣涓嬶紝鍦ㄨ繃鍘葷殑鍗佸勾涓紝澶у瀷鏁版嵁浠撳簱杞Щ鍒頒嬌鐢ㄨ嚜瀹氫箟澶氬鐞嗗櫒璁懼鏉ユ墿灞曟暟鎹噺錛屽儚Netezza(琚獻(xiàn)BM鏀惰喘)鍜孴eradata鎵鎻愪緵鐨勬暟鎹粨搴撱傜劧鑰岋紝榪欎簺璁懼閮介潪甯告槀璐碉紝澶у鏁頒腑灝忎紒涓氶兘璐熸媴涓嶈搗銆?/span>

鍦ㄨ繖縐嶈儗鏅笅錛屾垜浠緢鑷劧鍦拌闂細(xì)Hadoop鏄惁鏄暟鎹粨搴撶殑緇堢粨鑰?

涓轟簡鍥炵瓟榪欎釜闂錛屾垜浠渶瑕佸皢鏁版嵁浠撳簱鎶鏈笌鏁版嵁浠撳簱閮ㄧ講鍒嗗紑鏉ョ湅銆?/span>Hadoop(鍜孨oSQL鏁版嵁搴撶殑鍑虹幇)灝嗛紺虹潃鏁版嵁浠撳簱璁懼鍜屼紶緇熸暟鎹粨搴撳崟涓鏁版嵁搴撻儴緗茬殑娑堜骸銆?/span>

鑰屽湪榪欐柟闈㈠氨鏈夎繃瀹炰緥銆?/span>Hadoop渚涘簲鍟咰loudera灝嗗叾騫沖彴浣滀負(fù)“浼佷笟鏁版嵁鏋㈢航”錛岃繖鍦ㄦ湰璐ㄤ笂灝嗕紶緇熸暟鎹鐞嗚В鍐蟲柟妗堢殑綰沖叆浜嗛渶姹傘俁eadWrite.com鍦ㄦ渶榪戝彂琛ㄧ殑涓綃囬涓?#8220;涓轟粈涔堜笓鏈夊ぇ鏁版嵁鎶鏈病鏈夊笇鏈涗笌Hadoop绔炰簤”鐨勬枃绔犱腑涔熷彂琛ㄤ簡綾諱技鐨勭湅娉曘傚悓鏍峰湴錛屾渶榪戜竴綃囧崕灝?dāng)琛楁棩鎶ユ枃绔犳弿杩颁簡Hadoop濡備綍鎸戞垬鐢查鏂囧拰Teradata銆?/span>

Hadoop鎴朜oSQL鐢熸佺郴緇熶粛灝嗙戶緇彂灞曘傚緢澶氬ぇ鏁版嵁鐜寮濮嬮夋嫨NoSQL銆丼QL鐢氳嚦鏄疦ewSQL鏁版嵁浠撳簱鐨勬販鍚堟柟娉曘傛澶栵紝MapReduce騫惰澶勭悊寮曟搸涔熸湁鍙樺寲鍜屾敼榪涳紝渚嬪Apache鐨凷park欏圭洰銆傝櫧鐒惰繖涓晠浜嬭繕榪滆繙娌℃湁緇撴潫錛?strong>浣嗗彲浠ヨ錛屼紶緇熺殑鍗曚竴鏈嶅姟鍣ㄥ叧緋誨瀷鏁版嵁搴撴垨鏁版嵁搴撹澶囧茍涓嶆槸澶ф暟鎹垨鏁版嵁浠撳偍鐨勬湭鏉?/strong>銆?/span>

鍙︿竴鏂歸潰錛屾暟鎹粨搴撴妧鏈?/span>(鍖呮嫭鎻愬彇—杞崲—鍜?#8212;鍔犺澆銆佷笁緇村緩妯″拰鍟嗕笟鏅鴻兘)灝嗕細(xì)搴旂敤鍒版柊鐨凥adoop/NoSQL鐜銆傛澶栵紝榪欎簺鎶鏈篃灝嗗彉韜潵鏀寔鏇村鐨勬販鍚堢幆澧冦備富瑕佸師鍒欐槸鍥犱負(fù)騫朵笉鏄墍鏈夋暟鎹兘鏄鉤絳夌殑錛屾墍浠T緇忕悊浠簲璇ラ夋嫨鏁版嵁瀛樺偍鍜岃闂満鍒舵潵閫傚簲鏁版嵁鐨勪嬌鐢ㄣ傛販鍚堢幆澧冨皢鍖呮嫭鍏抽敭浠峰煎瓨鍌ㄣ佸叧緋誨瀷鏁版嵁搴撱佸浘褰㈠瓨鍌ㄣ佹枃妗e瓨鍌ㄣ佹煴鐘跺瓨鍌ㄣ乆ML鏁版嵁搴撱佸厓鏁版嵁鐩綍絳夌瓑銆?/span>

姝e浣犳墍鐪嬪埌鐨勶紝榪欏茍涓嶆槸涓涓畝鍗曠殑闂錛屼篃涓嶅彲鑳界畝鍗曞湴寰楀嚭涓涓瓟妗堛傜劧鑰岋紝涓鑸儏鍐典笅錛岃櫧鐒跺ぇ鏁版嵁鍦ㄦ湭鏉ヤ簲騫村唴灝嗕細(xì)鏀瑰彉鏁版嵁浠撳簱鐨勯儴緗詫紝浣嗗畠涓嶄細(xì)瀵艱嚧鏁版嵁浠撳簱鐨勬蹇靛拰鍋氭硶榪囨椂銆?/span>

瀵逛簬鍚戞暟鎹粨搴撴姇鍏ュ法璧勭殑鑱旈偊鏀垮簻榪欐剰鍛崇潃浠涔堝憿?

棣栧厛錛屽綋鐜版湁鏁版嵁浠撳簱鐨勫閲忎笉澶熸椂錛屾暟鎹粨搴撳皢琚漿縐誨埌鍩轟簬Hadoop銆佸鏈哄櫒鎴栦簯鎵樼鐨勮В鍐蟲柟妗堛傚叾嬈★紝浼佷笟騫朵笉浼?xì)閫夋嫨“鏀句箣鍥涙搗鑰岀殕鍑?#8221;鐨勫仛娉曪紝鑰屼細(xì)灝嗙洰鍏夎漿鍚戦傚悎鍏朵紒涓氬唴閮ㄦ暟鎹閲忕殑娣峰悎瀛樺偍鏂規(guī)硶銆傦紙閭歸摦緙栬瘧錛?/span>

 



crazycy 2014-01-19 01:27 鍙戣〃璇勮
]]>
NoSQL瀛︿範(fàn)錛堝叚錛夛豢 2014騫村ぇ鏁版嵁鍒嗘瀽瓚嬪娍灞曟湜(杞?http://www.tkk7.com/crazycy/archive/2014/01/18/409091.htmlcrazycycrazycySat, 18 Jan 2014 13:51:00 GMThttp://www.tkk7.com/crazycy/archive/2014/01/18/409091.htmlhttp://www.tkk7.com/crazycy/comments/409091.htmlhttp://www.tkk7.com/crazycy/archive/2014/01/18/409091.html#Feedback0http://www.tkk7.com/crazycy/comments/commentRss/409091.htmlhttp://www.tkk7.com/crazycy/services/trackbacks/409091.html2014騫村ぇ鏁版嵁鍒嗘瀽瓚嬪娍灞曟湜
Posted on 2014騫?1鏈?鏃?nbsp;by DinK in 琛屼笟璧勮 
http://www.199it.com/archives/185758.html

甯傚満鐮旂┒鍏徃IDC棰勬祴錛?015騫村ぇ鏁版嵁甯傚満瑙勬ā灝嗕粠2010騫寸殑32浜跨編鍏冨闀垮埌170浜跨編鍏冿紝澶嶅悎騫村闀跨巼涓?0%銆傚ぇ鏁版嵁鏄竴涓簽澶х殑鏂扮殑棰嗗煙錛屽叾涓殑鏁版嵁闆嗗彲浠ュ闀跨殑闈炲父搴炲ぇ錛屼互鑷充簬浣跨敤浼犵粺鐨勬暟鎹簱綆$悊宸ュ叿涔熷緢闅懼鐞嗐傚鐞嗚繖縐嶉棶棰樻墍闇瑕佺殑鏂板伐鍏楓佹鏋躲佺‖浠躲佽蔣浠跺拰鏈嶅姟鏄竴涓法澶х殑甯傚満鏈轟細(xì)銆傞殢鐫浼佷笟鐢ㄦ埛瓚婃潵瓚婂鍦伴渶瑕佽繛緇笉鏂湴璁塊棶鏁版嵁錛屽ソ鐨勫ぇ鏁版嵁宸ュ叿闆嗗皢浠ユ渶浣庣殑鎴愭湰鍜屾帴榪戝疄鏃剁殑閫熷害鎻愪緵鍙幾緙╃殑銆侀珮鎬ц兘鐨勫垎鏋愩傞氳繃鍒嗘瀽榪欑鏁版嵁錛屼紒涓氬彲寰楀埌鏇村ぇ鐨勬櫤鑳戒互鍙?qiáng)绔炰簤浼樺娧潃備笅闈㈡槸Hadoop鍜屽ぇ鏁版嵁涓撲笟鍘傚晢MapR鍏卞悓鍒涘浜哄拰棣栧腑鎵ц瀹樼害緲?#183;鏂界綏寰鳳紙John Schroeder錛夊2014澶ф暟鎹競鍦虹殑棰勬祴銆?/span>

1. SQL鎷ユ湁澶ф暟鎹殑鏈澶ф綔鍔?/span>

鐢ㄤ簬 Hadoop錛堝垎甯冨紡璁$畻錛夌殑SQL鐨勫彂灞曡兘澶熻鍟嗕笟鍒嗘瀽甯堝埄鐢ㄨ嚜宸辯殑鎶鑳藉拰閫夋嫨鐨凷QL宸ュ叿鎵ц澶ф暟鎹」鐩傚紑鍙戜漢鍛樺彲浠ラ夋嫨Hive銆丏rill鍜?Impala絳堿pache欏圭洰錛屼互鍙?qiáng)閫夋嫨Hadapt銆丠AWQ鍜孲plice Machine絳夊叕鍙哥殑涓撴湁鎶鏈?/span>

2. 灝界濡傛 SQL榪橀潰涓存寫鎴?/span>

SQL闇瑕佹暟鎹粨鏋勩傝岄泦涓殑緇撴瀯鍖栨暟鎹彲寮曡搗寤惰繜騫朵笖闇瑕佷漢宸ョ鐞嗐係QL榪橀檺鍒跺垎鏋愮被鍨嬨傝繃鍒嗗己璋僑QL灝嗗歡榪熸満鏋勫叏闈㈠埄鐢ㄥ叾鏁版嵁浠峰肩殑鍔姏鍜屽歡榪熷弽搴斻?/span>

3. 韜喚璇嗗埆鏄富瑕佺殑鏁版嵁瀹夊叏闂

闅忕潃Hadoop錛堝垎甯冨紡璁$畻錛変腑鎻愪緵鐨勬帴鍏ユ帶鍒惰兘鍔涚殑鐚涚儓鏀誨嚮錛屾満鏋勮繀閫熻璇嗗埌綰胯礬綰ц韓浠借瘑鍒槸蹇呰鐨勫熀紜銆傛病鏈夊厖鍒嗙殑韜喚璇嗗埆錛屼換浣曟洿楂樼駭鐨勬帶鍒墮兘寰堝鏄撹緇曡繃錛屽Θ紕嶉瀹氱殑瀹夊叏璁″垝銆?/span>

4. 鏁版嵁閿欒鍙樻垚瀛︿範(fàn)鏈轟細(xì)

2014騫存満鏋勫皢鍑虹幇璁稿鏁版嵁閿欒銆傛暟鎹敊璇皢琛ㄦ槑鍩虹鐨勬潵婧愮郴緇熺殑闂鍚楋紵鏁版嵁閿欒鏄湪涓嬫父鍒嗘瀽涓嚭鐜板亸宸鑷寸殑鏁版嵁鎻愬彇闂鍚楋紵鏁版嵁閿欒灝嗚〃鏄庡畾涔夊樊寮傛垨鑰呯己灝戣法閮ㄩ棬鍜屼笟鍔¢儴闂ㄧ殑涓鑷存у悧錛?014騫村皢鐪嬪埌瑙e喅鏁版嵁寮傚父闂銆?/span>

5. 鍑虹幇鍙繍琛岀殑Hadoop

2014騫村皢鐪嬪埌Hadoop鍦ㄥ悇涓涓氫腑鐨勭敓浜ч儴緗叉樉钁楀鍔犮傝繖灝嗘樉紺哄嚭Hadoop鍦ㄨ繍钀ヤ腑鐨勫疄鍔涖傚湪閭i噷錛岀敓浜у簲鐢ㄤ笌鍒嗘瀽緇撳悎鍦ㄤ竴璧瘋兘澶熸彁渚涘彲浠ヨ 閲忕殑鍟嗕笟浼樺娍錛屽鍦ㄥ鎴峰寲闆跺敭寤鴻銆佽瘓楠楁嫻嬪拰璇曢獙浼犳劅鍣ㄦ暟鎹繘琛岃鑼冪殑緇存姢絳夊簲鐢ㄤ腑鎻愪緵榪欎簺浼樺娍銆?/span>

6. 鏇村鐨勬暟鎹粨搴撳皢閮ㄧ講浼佷笟鏁版嵁涓績

鏁版嵁涓績鎶婃暟鎹彁鍙栧鐞嗗拰鏁版嵁浠庝紒涓氭暟鎹粨搴撳嵏杞藉埌Hadoop銆備綔涓轟竴涓牳蹇冪殑涓績浼佷笟涓績錛屾暟鎹腑蹇冭渚垮疁10鍊嶏紝鑳藉瀵歸澶栫殑澶勭悊鎴栬呮柊鐨勫簲鐢ㄨ繘琛屾洿澶氱殑鍒嗘瀽銆?/span>

7. 鏂扮殑浠ユ暟鎹負(fù)涓績鐨勫簲鐢ㄥ皢鎴愪負(fù)寮哄埗鎬х殑

鍒╃敤澶ф暟鎹殑鑳藉姏灝嗗湪2014騫存垚涓虹珵浜夌殑姝﹀櫒銆傛洿澶氱殑鍏徃灝嗕嬌鐢ㄥぇ鏁版嵁鍜孒adoop鍑嗙‘鍦伴拡瀵逛釜浜烘秷璐硅呯殑鍋忕埍榪介愯禋閽辯殑榪藉姞閿鍞拰浜ゅ弶閿鍞殑鏈轟細(xì)錛屾洿濂藉湴緙撹В椋庨櫓浠ュ強(qiáng)鍑忓皯鐢熶駭鍜屽紑閿鎴愭湰銆?/span>

8. 鏁版嵁鎴愪負(fù)鏁版嵁涓績鐨勬牳蹇?/span>

鏈烘瀯灝嗕粠寮鍙戣呰繃娓″埌澶ф暟鎹鍒掍腑銆?/span>IT閮ㄩ棬灝嗚秺鏉ヨ秺澶氬湴鎷呰礋瀹氫箟鏀寔澶氱搴旂敤鐨勬暟鎹熀紜璁炬柦鐨勪換鍔★紝鎶婇噸鐐歸泦涓湪閮ㄧ講銆佸鐞嗗拰淇濇姢涓涓満鏋勭殑鏍稿績璧勪駭鎵闇瑕佺殑鍩虹璁炬柦鏂歸潰銆?/span>

9. 鎼滅儲(chǔ)灝嗘垚涓洪潪緇撴瀯鍖栫殑鏌ヨ璇█

2013騫存湁澶ч噺鐨勭敤浜嶩adoop鐨凷QL璁″垝銆?014騫村皢鏄繖縐嶉潪緇撴瀯鍖栨煡璇㈣璦鎴愪負(fù)閲嶇偣鐨勪竴騫淬傛妸鎼滅儲(chǔ)闆嗘垚鍒癏adoop灝嗕負(fù)鏌ユ壘閲嶈淇℃伅鐨勪紒涓氱敤鎴鋒彁渚涗竴縐嶇畝鍗曞拰鐩磋鐨勬柟娉曘傛悳绱㈠紩鎿庤繕鏄寘鎷帹鑽愬紩鎿庡湪鍐呯殑璁稿鍙戠幇鍜屽垎鏋愬簲鐢ㄧ殑鏍稿績銆?/span>

10. Hadoop灝嗚幏寰楀湴浣?/span>

Hadoop灝嗙戶緇彇浠e叾瀹僆T寮鏀紝棰犺浼佷笟鏁版嵁浠撳簱鍜屼紒涓氬瓨鍌ㄣ備緥濡傦紝鐢查鏂囩殑涓昏钀ユ敹鐩爣鍦ㄨ繃鍘葷殑10涓搴﹂噷鏈?涓搴︽病鏈夊疄鐜般俆eradata鍦ㄨ繃鍘葷殑5涓搴︽湁4涓搴︽病鏈夊疄鐜拌惀鏀跺拰鍒╂鼎鐩爣銆?/span>

11. Hadoop浠嶉渶瑕佸府鍔╂墠鑳芥垚涓轟富嫻佸簲鐢?/span>

鏇村鐨勬満鏋勮璇嗗埌Apache Hadoop鏈韓榪樻病鏈夊噯澶囧ソ鍦ㄤ紒涓氬簲鐢ㄣ侫pache Hadoop涓嶆槸涓虹郴緇熺鐞嗘垨鑰呯伨闅炬仮澶嶇瓑緇熶竴浼佷笟IT嫻佺▼璁捐鐨勩備紒涓氬皢緇х畫鎺ㄨ繘娣峰悎鐨勮В鍐蟲柟妗堬紝鎶婃灦鏋勬妧鏈垱鏂頒笌Apache Hadoop鐨勫紑婧愯蔣浠剁粨鍚堝湪涓璧楓?/span>

鑻辨枃http://www.cio.com.au/slideshow/534054/pictures_12_big_data_predictions_2014/?image=3

璇戞枃http://www.csdn.net/article/2013-12-25/2817926-pictures-12-big-data-predictions-2014
2014鐨?2涓ぇ鏁版嵁瓚嬪娍錛欻adoop緇х畫鍗囨俯錛孯灝嗚繘鍏ヤ富嫻?/div>

褰撲笅錛?/span>澶ф暟鎹?/span>宸叉垚涓?/span>2013騫存渶鐏殑鎶鏈瘝姹囦箣涓錛涜屽湪榪囧幓涓騫達(dá)紝榪欎釜甯傚満鐨勫閫熷拰鏀瑰彉涔熶笉鍙皳涓嶅ぇ銆傚悓鏃訛紝鎴戜滑榪樼湅鍒頒簡Hadoop鍙?qiáng)鍏剁敓鎬佺郴緇熺殑浣跨敤闂ㄦ浠庨《灝栨妧鏈漢鎵嶅埌鏁版嵁縐戝瀹剁殑鏀瑰彉銆傝秺鏉ヨ秺澶氱殑浼佷笟鎷ユ姳澶ф暟鎹妧鏈紝騫跺皢鍏惰繍鐢ㄥ埌鐢熶駭鐜涓傞偅涔堬紝鍦?/span>2014騫村ぇ鏁版嵁鐨勫彂灞曡秼鍔垮張浼?xì)濡備綍锛寴q欓噷涓嶅Θ鐪嬩竴涓嬫潵鑷?/span>CIO鐨?/span>12欏歸嫻嬶細(xì)

1. 浜轟滑涓嶅啀姝㈡浜庡ぇ鏁版嵁鐨勮皥璁?/span> 

2014騫達(dá)紝澶ф暟鎹浜庤鐨勬儏鍐靛皢鍙戠敓鏀瑰彉錛屼漢浠皢鑷村姏浜庝粠涓幏鐩婏紝鎵鏈夊ぇ鏁版嵁鐨勭倰浣滀篃灝?/span>鐑熸秷浜戞暎銆備粠Gainsight浜嗚В鍒幫紝澶ф暟鎹湰韜篃灝嗘垚涓烘闈笂鐨勭鐮侊紝Gainsight鍦ㄥ叾IaaS騫沖彴涓埄鐢ㄥぇ鏁版嵁鍒嗘瀽琚叾縐頒箣涓?/span>“customer success management”鐨勬湇鍔°?/span>Gainsight璁や負(fù)錛屽湪2014騫達(dá)紝姣忓浜戝簲鐢ㄧ▼搴忔彁渚涘晢閮藉皢浼?xì)璁╁叾鍚庣鍩杭媭璁炬柦鏀寔澶ф暟鎹?/span>


2. Hadoop
灝嗘垚涓轟紒涓氱殑鍏抽敭緇勪歡
Hadoop
灝嗘櫘鍙?qiáng)锛屽ぇ鏁版嵁涔熶笉浼?xì)鍐嶇戶緇姝ヤ簬浜戞湇鍔°?/span>Alteryx璁や負(fù)錛?/span>2014騫達(dá)紝Hadoop鐨勯傜敤鍦烘櫙灝嗚秴瓚婃壒澶勭悊鍜屽瓨鍌紝灝嗘垚涓轟紒涓氭暟鎹灦鏋勪腑閫氱敤鐨勬牳蹇冪粍浠訛紝榪欐剰鍛崇潃鏁版嵁鍒嗘瀽灝嗙戶緇垚涓哄ぇ鏁版嵁鐨勯瑕佺敤渚嬨?/span>


3.
浼佷笟灝嗘洿鍔犻挓鎯呬簬鐢ㄦ埛鏁版嵁
浠?/span>Gainsight浜嗚В鍒幫紝鍚勪釜鏈烘瀯灝嗗鐢ㄦ埛鏁版嵁鍏呮弧鐑儏錛屼紒涓氬皢鍏呭垎鍒╃敤瀹㈡埛涓庡叾鍦ㄧ嚎浜у搧鎴栨湇鍔′氦浜掍駭鐢熺殑鏁版嵁錛屽茍浠庝腑鑾峰彇浠峰箋備負(fù)浜嗗疄鐜拌繖鐐癸紝鏁版嵁鍒嗘瀽鑳藉姏灝嗘瘮BI鍥㈤槦鏇村彈閲嶈錛屼負(fù)浼佷笟鎻愪緵鏇村鐨勪環(huán)鍊箋?/span>


4.
澶ф暟鎹帺杞競鍦哄喅絳?/span>
Alteryx
璁や負(fù)錛屽湪2014騫達(dá)紝澶ф暟鎹皢棣栨姝e紡鐧婚檰甯傚満钀ラ攢錛岀敤浜庡競鍦鴻惀閿鐨勫ぇ鏁版嵁鎶鏈皢鍦ㄨ繖涓騫存壆婕旈噸瑕佽鑹?/span>——褰卞搷鐫騫垮憡銆佷駭鍝佹帹閿鍜屾秷璐硅呰涓猴紝World Cup鍙?/span>Winter Olympics灝嗘槸鍏舵渶澶х殑鑸炲彴銆?/span>


5.
嫻烽噺鐨勬暟鎹皢瓚呰秺鏁版嵁縐戝瀹剁殑鎰忚瘑
lteryx
璁や負(fù)錛屾柊鍨嬬殑鏁版嵁鍒嗘瀽闇姹傚皢瓚呰秺浜哄姏鍙負(fù)錛屾湁浜涙儏鍐典笅澶ф暟鎹妧鏈皢鍫瘮鎴愬崈涓婁竾鐨勬暟鎹瀛﹀銆傝鍏徃棰勬祴錛岃繖灝嗕細(xì)姣棤鐤戦棶鐨勬媺浣庢暟鎹瀛﹀钖叕銆?/span>


6.
鐗╄仈緗戝皢榪涘啗緗戠粶
IEEE
鐨勪笓涓氬崗浼?xì)璁や负锛?/span>2014騫達(dá)紝鍙瘑鍒簨鐗╁皢鏃犵紳鐨勮繛鎺ュ埌淇℃伅緗戠粶錛屽疄鐜扮湡姝f剰涔変笂鐨?/span>Web of Things銆?/span>The Web of Things灝嗕細(xì)鍏呭垎鍒╃敤縐誨姩璁懼鍜屼紶鎰熷櫒鐨勭洃鎺ц兘鍔涳紝澧炲己鐜板疄涓栫晫涓殑鐗╀綋涓?/span>Web鍓湰涔嬮棿鐨勫崗鍚屾с?/span>

The Web of Things灝嗕細(xì)鐢熸垚澶ч噺涓庣幇瀹炰笘鐣岀浉鍏崇殑鏁版嵁錛屽洜鑰屼細(xì)闇姹傛櫤鑳藉寲鐨勮В鍐蟲柟妗堝湪鐜板疄涓栫晫涓庣浉瀵瑰簲鐨勬暟瀛椾笘鐣岃祫婧愪箣闂磋祴浜堣繛鎺ユс佺綉闄呬簰榪炲拰鐩稿叧鎬с?/span>


7.
浠庡ぇ鏁版嵁鍒版搗閲忔暟鎹?/span>
鏁版嵁鐨勪綋縐侀熷害鍜岀被鍨嬶紙volume銆?/span>velocity鍜?/span>variety錛夊湪2014騫村皢浼?xì)鐟艟l憟鎸囨暟綰у闀匡紝鍥犳闇瑕佹洿綆鍗曠殑鍒嗘瀽宸ュ叿鏉ラ┚椹繖浜?/span>鏁版嵁媧祦銆?/span>

IEEE
縐幫紝涓嶆鏄?/span>3涓?/span>V璁╁ぇ鏁版嵁鎴愪簡闈炲父闅句互鍒舵湇鐨勮佽檸錛屾暟鎹瀛﹀鍙?qiáng)琛屼笟鎵闇綆鍗曞伐鍏蜂篃鏄釜闅鵑錛岃澶氳涓氬皻鏃犵嫭绔嬫彁鍙栨暟鎹環(huán)鍊肩殑鑳藉姏銆傚綋鍓嶅凡鍑虹幇鐨勬搗閲忔暟鎹椂浠f洿闇姹傛暟鎹鐞嗗拰鍒嗘瀽涓婃柊鐨勮寖寮忓拰瀹炶返銆?/span>2014騫達(dá)紝榪欎釜棰嗗煙灝嗕笂婕旂兢闆勪簤闇搞?/span>


8. R
璇█灝嗗彇浠d紶緇?/span>SAS瑙e喅鏂規(guī)
Alteryx
璁や負(fù)錛屽熀浜?/span>R緙栫▼璇█鐨勫垎鏋愬皢鏁版嵁縐戝瀹?/span>寰$敤妯″紡錛岃繖縐嶅垎鏋愬湪2014騫村皢鎴愪負(fù)涓繪祦錛屽皢鏇夸唬浼犵粺鐨?/span>SAS鍙?/span>SPSS妯″紡銆?/span>Alteryx璇撮亾錛?/span>瓚呰繃200涓囩敤鎴峰拰300涓囩殑鍒嗘瀽甯堥兘鍦ㄥ鎵炬洿濂界殑瑙e喅鏂規(guī)錛?/span>R鎭伴㈠叾鏃躲?/span>


9. Hadoop
灝嗗鍔犲疄鏃剁壒鎬?/span>
SQL-on-Hadoop
渚涘簲鍟?/span>Splice Machine鍏卞悓鍒涘浜哄吋CEO Monte Zweben鎸囧嚭錛屾湭鏉?/span>1騫村緩绔嬪湪Hadoop騫沖彴涓婄殑浜や簰寮忓簲鐢ㄧ▼搴忓皢鍛堢垎鍙戝紡澧為暱錛屽叾涓寘鎷?/span>Web搴旂敤銆佺Щ鍔ㄥ簲鐢ㄥ拰紺句氦搴旂敤錛屼漢浠彲浠ヤ笌涔嬭繘琛屽疄鏃剁殑浜や簰銆?/span>

Zweben璇撮亾錛?/span>“2014灝嗗甫鏉ュ疄鏃跺ぇ鏁版嵁搴旂敤紼嬪簭騫沖彴錛屼紒涓氬皢涓嶄細(xì)鍙兘鍍忓綋涓嬩竴鏍峰垎鏋愬巻鍙叉暟鎹紝浣犲皢鏈夎兘鍔涘垎鏋?/span>5鍒嗛挓錛岀敋鑷蟲槸1鍒嗛挓涔嬪唴鐨勬暟鎹紱浼佷笟灝嗘嫢鏈変氦浜掑紡搴旂敤紼嬪簭錛屼互渚垮疄鏃剁殑鍒跺畾鍐崇瓥銆?/span>


10. Hadoop
灝嗗緱鍒頒紒涓氱駭寮哄寲
Splice Machine
鐨?/span>Zweben璇達(dá)細(xì)姣嬪焊緗枒錛?/span>Hadoop鏄釜浜嗕笉璧風(fēng)殑騫沖彴錛屼絾鏄粛鐒舵湁璁稿宸ヤ綔瑕佸仛銆?/span>

浠栬涓猴紝鍦?/span>2014錛屼綘灝嗙湅鍒?/span>Hadoop鍚戝畨鍏ㄣ佽繍钀ョ鐞嗐佽祫婧愮鐞嗗強(qiáng)澶氱珯鐐瑰搷搴旀柟鍚戝彂灞曘?/span>Zweben琛ュ厖閬擄細(xì)浣犲皢鐪嬪埌鎵鏈夌殑浼佷笟綰ч渶姹傦紝鎴戣涓鴻繖浜涘皢鏄湭鏉ヤ富瑕佺殑鐒︾偣銆?/span>


11.  2014
騫村簳錛岃嚦灝戞湁涓瀹?/span>NoSQL IPO
澶ф暟鎹強(qiáng)浜戠幆澧冨畨鍏ㄨВ鍐蟲柟妗?/span>Gazzang钁d簨闀垮吋CEO Larry Warnock棰勬祴錛屽湪2014錛岃嚦灝戞湁涓瀹?/span>Hadoop鎴栬?/span>NoSQL渚涘簲鍟嗕細(xì)IPO錛岃繖鏍囧織鐫澶ф暟鎹鉤鍙板凡琚箍娉涜鍙?/span>

Warnock璇撮亾錛?/span>鎴戜笉浼?xì)鍘婚娴嬪摢瀹朵?/span>IPO錛屼絾鏄嚦灝戜細(xì)鏈変竴瀹?/span>Hadoop鎴?/span>NoSQL渚涘簲鍟?/span>IPO銆傞氳繃Wikibon浜嗚В鍒幫紝鍦?/span>2012騫達(dá)紝NoSQL杞歡鍜屾湇鍔″垱閫犱簡2.86浜跨編鍏冪殑紼庢敹錛岃屽湪2017騫達(dá)紝榪欎釜鏁版嵁琚嫻嬩負(fù)18.25浜褲傚晢鍦鴻涓嶆柇澧為暱鐨勪紒涓氶渶姹傛帹鍔紝浠栦滑闇瑕佺伒媧匯佸彲鎵╁睍鍙?qiáng)璐熸媴寰楄碉L(fēng)殑鏁版嵁綆$悊瑙e喅鏂規(guī)錛屼負(fù)鏂版椂浠g殑浜戝強(qiáng)澶ф暟鎹璁°?/span>


12.
涓涓柊鐨勫垎鏋愬爢鏍堝皢璇炵敓
Alteryx
棰勬祴錛?/span>2014騫達(dá)紝灝嗗嚭鐜頒竴涓柊鐨勬暟鎹強(qiáng)鍒嗘瀽鍫嗘爤錛屼負(fù)鏁版嵁搴撱佸垎鏋愩佸彲瑙嗗寲鎻愪緵鏂扮殑瑙e喅鏂規(guī)錛岃繖灝嗙洿鎺ュ▉鑳佸埌浼犵粺鐨勪緵搴斿晢宸ㄥご錛岃岃繖浜涗緵搴斿晢涔熶細(xì)鍦ㄥ寙蹇欎腑鎺ㄥ嚭鏂扮殑瑙e喅鏂規(guī)銆?/span>

 



crazycy 2014-01-18 21:51 鍙戣〃璇勮
]]>NoSQL瀛︿範(fàn)錛堜簲錛塁assandra vs MongoDB vs CouchDB vs Redis vs Riak vs HBase vs Couchbase vs Neo4j vs Hypertable vs ElasticSearch vs Accumulo vs VoltDB vs Scalaris comparisonhttp://www.tkk7.com/crazycy/archive/2014/01/14/408883.htmlcrazycycrazycyMon, 13 Jan 2014 17:34:00 GMThttp://www.tkk7.com/crazycy/archive/2014/01/14/408883.htmlhttp://www.tkk7.com/crazycy/comments/408883.htmlhttp://www.tkk7.com/crazycy/archive/2014/01/14/408883.html#Feedback0http://www.tkk7.com/crazycy/comments/commentRss/408883.htmlhttp://www.tkk7.com/crazycy/services/trackbacks/408883.html闃呰鍏ㄦ枃

crazycy 2014-01-14 01:34 鍙戣〃璇勮
]]>
NoSQL闈炲叧緋誨瀷鏁版嵁搴撳涔?fàn)锛堝洓锛?jí)榪欐牱瀵規(guī)瘮涓婬Base, Memcached, MongoDB, Redis鍜孲olrhttp://www.tkk7.com/crazycy/archive/2014/01/14/408880.htmlcrazycycrazycyMon, 13 Jan 2014 16:27:00 GMThttp://www.tkk7.com/crazycy/archive/2014/01/14/408880.htmlhttp://www.tkk7.com/crazycy/comments/408880.htmlhttp://www.tkk7.com/crazycy/archive/2014/01/14/408880.html#Feedback0http://www.tkk7.com/crazycy/comments/commentRss/408880.htmlhttp://www.tkk7.com/crazycy/services/trackbacks/408880.html闃呰鍏ㄦ枃

crazycy 2014-01-14 00:27 鍙戣〃璇勮
]]>
Failed to load the JNI shared library "C:/JDK/bin/client/jvm.dll"http://www.tkk7.com/crazycy/archive/2014/01/13/408875.htmlcrazycycrazycyMon, 13 Jan 2014 11:47:00 GMThttp://www.tkk7.com/crazycy/archive/2014/01/13/408875.htmlhttp://www.tkk7.com/crazycy/comments/408875.htmlhttp://www.tkk7.com/crazycy/archive/2014/01/13/408875.html#Feedback0http://www.tkk7.com/crazycy/comments/commentRss/408875.htmlhttp://www.tkk7.com/crazycy/services/trackbacks/408875.html
The solution to resolve it is to make sure the version are all 64 bits
  • 64-bit Java
  • 64-bit {tool}



crazycy 2014-01-13 19:47 鍙戣〃璇勮
]]>
NoSQL闈炲叧緋誨瀷鏁版嵁搴撳涔?fàn)锛堜笁锛?jí)NoSQL涓嶳DBMS錛氫綍鏃朵嬌鐢紝浣曟椂涓嶄嬌鐢?/title><link>http://www.tkk7.com/crazycy/archive/2014/01/13/408845.html</link><dc:creator>crazycy</dc:creator><author>crazycy</author><pubDate>Mon, 13 Jan 2014 04:12:00 GMT</pubDate><guid>http://www.tkk7.com/crazycy/archive/2014/01/13/408845.html</guid><wfw:comment>http://www.tkk7.com/crazycy/comments/408845.html</wfw:comment><comments>http://www.tkk7.com/crazycy/archive/2014/01/13/408845.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/crazycy/comments/commentRss/408845.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/crazycy/services/trackbacks/408845.html</trackback:ping><description><![CDATA[     鎽樿: NoSQL鏁版嵁搴撻潰涓寸殑鎸戞垬NoSQL vs RDBMS: Why and why not to use NoSQL over RDBMS?  Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->Naresh Kumar3 J...  <a href='http://www.tkk7.com/crazycy/archive/2014/01/13/408845.html'>闃呰鍏ㄦ枃</a><img src ="http://www.tkk7.com/crazycy/aggbug/408845.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/crazycy/" target="_blank">crazycy</a> 2014-01-13 12:12 <a href="http://www.tkk7.com/crazycy/archive/2014/01/13/408845.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>NoSQL闈炲叧緋誨瀷鏁版嵁搴撳涔?fàn)锛堜簩锛?jí)http://www.tkk7.com/crazycy/archive/2014/01/13/408844.htmlcrazycycrazycyMon, 13 Jan 2014 04:03:00 GMThttp://www.tkk7.com/crazycy/archive/2014/01/13/408844.htmlhttp://www.tkk7.com/crazycy/comments/408844.htmlhttp://www.tkk7.com/crazycy/archive/2014/01/13/408844.html#Feedback0http://www.tkk7.com/crazycy/comments/commentRss/408844.htmlhttp://www.tkk7.com/crazycy/services/trackbacks/408844.htmlGartner鍒嗘瀽甯?/span>Merv Adrian鍦?/span>Twitter涓?/span>RT浜嗕竴鏉″叧浜?/span>NoSQL鏁版嵁搴撹瘎閫夌殑娑堟伅錛屼粬璁や負(fù)榪欏氨鍍忔槸鍦ㄥ姣斾綘鏇村枩嬈㈣嫻鏋溿侀浮灝鵑厭榪樻槸瑗垮叞鑺憋紝瀹冧滑閮芥湁涓嶅悓鐨勫簲鐢ㄥ満鏅紝瀵規(guī)瘮NoSQL浜у搧鏄病鏈夋剰涔夌殑銆傛瘮濡?/span>MongoDB鍜?/span>Cassandra灝辨病鏈変粈涔堝彲姣旀э紝瀹冧滑鐨勫叡鍚岀偣鍙槸閮藉彨鍋?/strong>NoSQL鏁版嵁搴撹屽凡錛屽畠浠殑搴旂敤鍦烘櫙闈炲父涓嶅悓銆?/span>

 

涓嬮潰榪樻槸鏍規(guī)嵁瀛︿範(fàn)錛屽鐜板湪姣旇緝鐑棬鐨凪angoDB鍜孧emcached浠ュ強(qiáng)Redis鍋氫釜綆鍗曠殑瀛︿範(fàn)錛?/span>

MangoDB鏄?/span>(document database, 紜洏鍨?/span>)
a. 鍩轟簬紓佺洏鐨勬暟鎹簱錛屽彧鏄紦瀛樼儹鐐規(guī)暟鎹湪鍐呭瓨涓?/span>
b. 鏂囨。鍨嬬殑闈炲叧緋誨瀷鏁版嵁搴擄紝
    浼樺娍鏄煡璇㈠姛鑳藉己澶э紝鍙瓨鍌ㄦ搗閲忔暟鎹?/span>
c. 鍙浛鎹?/span>MySQL絳夊叧緋誨瀷鏁版嵁搴?/span>;
    鍦ㄥ唴瀛樿凍澶熺殑鎯呭喌涓嬶紝璇誨啓鎬ц兘涓嶉敊錛屽彲鐪佸幓Cache榪欎竴灞?br />

Memcached鍜?/span>Redis鏄?/span>(key value store, 鍐呭瓨鍨?/span>)
a.鍐呭瓨鍨嬫暟鎹簱錛屾暟鎹繚瀛樺湪鍐呭瓨涓紝閫氳繃TCP鐩存帴瀛樺彇錛?/span> 鎴栬呰鏄叏鍐呭瓨Cache銆?/span>
   浼樺娍鏄熷害蹇紝騫跺彂楂橈紝緙虹偣鏄暟鎹被鍨嬫湁闄愶紝鏌ヨ鍔熻兘涓嶅己錛屼竴鑸仛緙撳瓨銆?/span>
b. Key Value Store
c. 鍏ㄥ唴瀛?br />

Memcached vs Redis
a. 閮芥槸Key Vale, Memory Cache
b. Memecahced鏄?multiple-thread; 閫傚悎澶氭牳CPU鐨勫簲鐢ㄣ?/span>
    Redis鏄?single-thread.
    濡傛灉鍐嶅鏁版嵁緇撴瀯鍩虹涓婃敮鎸佸綰跨▼錛屽姞閿佸彲鑳芥槸涓棶棰?/span>錛堝緟娣卞叆瀛︿範(fàn)楠岃瘉錛?/strong>銆?br /> c. Redis鍏鋒湁鎸佷箙鍖栨満鍒訛紝鍙互瀹氭湡灝嗗唴瀛樼殑鏁版嵁鎸佷箙鍖栧埌紜洏涓?/span>
d. Redis鏀寔鐨勬暟鎹被鍨嬫洿澶?/span>
e. Redis 鍏峰binlog鍔熻兘錛屽皢鎵鏈夋搷浣滃啓鍏ユ棩蹇楋紝浠ヤ究redis鍑虹幇鏁呴殰鏃訛紝鍙氳繃binlog榪涜鎭㈠銆?/span>
f. Redis鏀寔Virtual Memory錛屽彲闄愬畾鍐呭瓨澶у皬錛屽綋鏁版嵁瓚呭嚭闃鍊鹼紝灝遍氳繃綾諱技LRU鐨勭畻娉曞皢鏈涓嶅父鐢ㄧ殑鏁版嵁淇濆瓨鍒扮‖鐩樼殑欏甸潰闂涓?/span>

 



crazycy 2014-01-13 12:03 鍙戣〃璇勮
]]>
NoSQL闈炲叧緋誨瀷鏁版嵁搴撳涔?fàn)锛堜竴錛?/title><link>http://www.tkk7.com/crazycy/archive/2014/01/13/408842.html</link><dc:creator>crazycy</dc:creator><author>crazycy</author><pubDate>Mon, 13 Jan 2014 03:53:00 GMT</pubDate><guid>http://www.tkk7.com/crazycy/archive/2014/01/13/408842.html</guid><wfw:comment>http://www.tkk7.com/crazycy/comments/408842.html</wfw:comment><comments>http://www.tkk7.com/crazycy/archive/2014/01/13/408842.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.tkk7.com/crazycy/comments/commentRss/408842.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/crazycy/services/trackbacks/408842.html</trackback:ping><description><![CDATA[     鎽樿: 鍦?008騫寸殑鏃跺欙紝鎴戣繕鏄彧鐭ラ亾DB2, Oracle, MS SQLServer, Sybase, MySQL, PostgreSQL,  Firebird絳変富嫻佸晢涓氭垨鑰呭紑婧愭暟鎹簱銆傚綋姹插彇鐭ヨ瘑浜庣綉緇滀箣闄咃紝紿佺劧鍙戠幇寰堝鏂扮殑鍚嶈瘝楸艱穬鑰屽嚭錛屼粈涔?SQLite, Memcached,  FastDB, MongoDB, Solr, Redis, HBase,  Cass...  <a href='http://www.tkk7.com/crazycy/archive/2014/01/13/408842.html'>闃呰鍏ㄦ枃</a><img src ="http://www.tkk7.com/crazycy/aggbug/408842.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/crazycy/" target="_blank">crazycy</a> 2014-01-13 11:53 <a href="http://www.tkk7.com/crazycy/archive/2014/01/13/408842.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>Download of Spring Framework http://www.tkk7.com/crazycy/archive/2014/01/06/408589.htmlcrazycycrazycyMon, 06 Jan 2014 11:08:00 GMThttp://www.tkk7.com/crazycy/archive/2014/01/06/408589.htmlhttp://www.tkk7.com/crazycy/comments/408589.htmlhttp://www.tkk7.com/crazycy/archive/2014/01/06/408589.html#Feedback0http://www.tkk7.com/crazycy/comments/commentRss/408589.htmlhttp://www.tkk7.com/crazycy/services/trackbacks/408589.htmlspring.io

And the download of zip files has become a bit confusion.
Base on 
You now have to download the zip files form their repository, as stated here: 
https://github.com/spring-projects/spring-framework/wiki/Downloading-Spring-artifacts 
(statement at the bottom of the page).

Download cannot proceed without account/login, so I decide to the below page and download jar by jar.
mvnrepository.com/artifact/org.springframework

When come to "spring-security-core", I question myself that how I can get all dependent jar files.
With this question, I find the direct link to download the whole zip file:
http://repo.spring.io/release/org/springframework/spring
or
https://github.com/spring-projects/spring-framework/releases

Also, there is another DIY solution from Spring website 
https://github.com/spring-projects/spring-framework/wiki/Downloading-Spring-artifacts
(statement at the bottom of the page).
Also, some folks are already provided the detailed steps:
The solution I prefer is using Maven, it is easy and you don't have to download each jar alone. you can do it with the following steps:

1. Create an empty folder in anywhere with any name you prefer, for example spring-source
2. Create a new file named pom.xml
3. Copy the following in this file
4. Open the spring-source folder in your console
5. Run mvn install
6. After download finished, you'll find spring jars in /spring-source/target/dependencies
Configuration is as below:
<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>spring-source-download</groupId>
  <artifactId>SpringDependencies</artifactId>
  <version>1.0</version>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
  <repositories>
    <repository>
      <id>repository.spring.release</id>
  <name>Spring GA Repository</name>
      <url>http://repo.spring.io/release</url>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
  </repositories>
  <dependencies>
    <!--each dependency refer to
           corresponding project under 
http://spring.io/projects-->
  <!--spring-framework-->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>4.0.0.RELEASE</version>
    </dependency>
    <!--spring-security-->
  <!--
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
<version>3.2.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
<version>3.2.0.RELEASE</version>
</dependency>
-->
<!--spring-webflow-->
<!--
<dependency>
<groupId>org.springframework.webflow</groupId>
<artifactId>spring-webflow</artifactId>
<version>2.3.2.RELEASE</version>
    </dependency>
-->
</dependencies>
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-dependency-plugin</artifactId>
            <version>2.8</version>
            <executions>
              <execution>
                <id>download-dependencies</id>
                  <phase>generate-resources</phase>
                    <goals>
                      <goal>copy-dependencies</goal>
                    </goals>
                    <configuration>
                      <outputDirectory> ${project.build.directory}/dependencies </outputDirectory>
                    </configuration>
              </execution>
            </executions>
      </plugin>
    </plugins>
  </build>
</project>
Furthermore, 
Also, if you need to download any other spring project, just copy the dependency configuration from its corresponding web page

For example, if you want to download Spring Web Flow jars, go to its web page, and add its dependency configuration to the pom.xml dependencies, then run mvn install again.
<dependency>
   <groupId>org.springframework.webflow</groupId>
    <artifactId>spring-webflow</artifactId>
    <version>2.3.2.RELEASE</version>
</dependency>


寮曠敤涓涓枃绔狅細(xì)濡備綍鍦ㄩ」鐩腑寮曞叆Spring妗嗘灦(2010-05-26)

spring鐨刯ar鍖呰鏄庡涓嬶細(xì)

>>spring.jar 
鏄寘鍚湁瀹屾暣鍙戝竷妯″潡鐨勫崟涓猨ar 鍖呫?br />浣嗘槸涓嶅寘鎷琺ock.jar, aspects.jar, spring-portlet.jar, and spring-hibernate2.jar銆?br />      
spring-src.zip灝辨槸鎵鏈夌殑婧愪唬鐮佸帇緙╁寘銆?/strong>

闄や簡spring.jar 鏂囦歡錛孲pring 榪樺寘鎷湁鍏跺畠21 涓嫭绔嬬殑jar 鍖咃紝鍚勮嚜鍖呭惈鐫瀵瑰簲鐨凷pring緇勪歡錛岀敤鎴峰彲浠ユ牴鎹嚜宸辯殑闇瑕佹潵閫夋嫨緇勫悎鑷繁鐨刯ar 鍖咃紝鑰屼笉蹇呭紩鍏ユ暣涓猻pring.jar 鐨勬墍鏈夌被鏂囦歡銆?/strong>

>>spring-core.jar
榪欎釜jar 鏂囦歡鍖呭惈Spring 妗嗘灦鍩烘湰鐨勬牳蹇冨伐鍏風(fēng)被銆係pring 鍏跺畠緇勪歡瑕侀兘瑕佷嬌鐢ㄥ埌榪欎釜鍖呴噷鐨勭被錛屾槸鍏跺畠緇勪歡鐨勫熀鏈牳蹇冿紝褰撶劧浣犱篃鍙互鍦ㄨ嚜宸辯殑搴旂敤緋葷粺涓嬌鐢ㄨ繖浜涘伐鍏風(fēng)被銆?br />
澶栭儴渚濊禆Commons Logging錛?nbsp;(Log4J)銆?br />
>>spring-beans.jar
榪欎釜jar 鏂囦歡鏄墍鏈夊簲鐢ㄩ兘瑕佺敤鍒扮殑錛屽畠鍖呭惈璁塊棶閰嶇疆鏂囦歡銆佸垱寤哄拰綆$悊bean 浠ュ強(qiáng)榪涜Inversion of Control / Dependency Injection錛圛oC/DI錛夋搷浣滅浉鍏崇殑鎵鏈夌被銆傚鏋滃簲鐢ㄥ彧闇鍩烘湰鐨処oC/DI 鏀寔錛屽紩鍏pring-core.jar 鍙?qiáng)spring-beans.jar 鏂囦歡灝卞彲浠ヤ簡銆?br />
澶栭儴渚濊禆spring-core錛?CGLIB)銆?br />
>>spring-aop.jar
榪欎釜jar 鏂囦歡鍖呭惈鍦ㄥ簲鐢ㄤ腑浣跨敤Spring鐨凙OP 鐗規(guī)ф椂鎵闇鐨勭被鍜屾簮鐮佺駭鍏冩暟鎹敮鎸併備嬌鐢ㄥ熀浜嶢OP 鐨凷pring鐗規(guī)э紝濡傚0鏄庡瀷浜嬪姟綆$悊錛圖eclarative Transaction Management錛夛紝涔熻鍦ㄥ簲鐢ㄩ噷鍖呭惈榪欎釜jar鍖呫?br />
澶栭儴渚濊禆spring-core錛?nbsp;(spring-beans錛孉OP Alliance錛?nbsp;CGLIB錛孋ommons Attributes)銆?br />
>>spring-context.jar
榪欎釜jar 鏂囦歡涓篠pring鏍稿績鎻愪緵浜嗗ぇ閲忔墿灞曘傚彲浠ユ壘鍒頒嬌鐢⊿pring ApplicationContext鐗規(guī)ф椂鎵闇鐨勫叏閮ㄧ被錛孞DNI 鎵闇鐨勫叏閮ㄧ被錛宨nstrumentation緇勪歡浠ュ強(qiáng)鏍¢獙Validation 鏂歸潰鐨勭浉鍏崇被銆?br />
澶栭儴渚濊禆spring-beans, (spring-aop)銆?br />
>>spring-dao.jar
榪欎釜jar 鏂囦歡鍖呭惈Spring DAO銆丼pring Transaction 榪涜鏁版嵁璁塊棶鐨勬墍鏈夌被銆備負(fù)浜嗕嬌鐢ㄥ0鏄庡瀷浜嬪姟鏀寔錛岃繕闇鍦ㄨ嚜宸辯殑搴旂敤閲屽寘鍚玸pring-aop.jar銆?br />      
澶栭儴渚濊禆spring-core錛?spring-aop錛?nbsp;spring-context錛?nbsp;JTA API)銆?br />
>>spring-jdbc.jar
榪欎釜jar 鏂囦歡鍖呭惈瀵筍pring 瀵笿DBC 鏁版嵁璁塊棶榪涜灝佽鐨勬墍鏈夌被銆?br />
澶栭儴渚濊禆spring-beans錛宻pring-dao銆?br />
>>spring-support.jar
榪欎釜jar 鏂囦歡鍖呭惈鏀寔UI妯$増錛圴elocity錛孎reeMarker錛孞asperReports錛夛紝閭歡鏈嶅姟錛岃剼鏈湇鍔?JRuby)錛岀紦瀛楥ache錛圗HCache錛夛紝浠誨姟璁″垝Scheduling錛坲artz錛夋柟闈㈢殑綾匯?br />
澶栭儴渚濊禆spring-context, (spring-jdbc, Velocity, FreeMarker, JasperReports, BSH, Groovy, JRuby, Quartz, EHCache)

>>spring-web.jar
榪欎釜jar 鏂囦歡鍖呭惈Web 搴旂敤寮鍙戞椂錛岀敤鍒癝pring 妗嗘灦鏃舵墍闇鐨勬牳蹇冪被錛屽寘鎷嚜鍔ㄨ澆鍏eb Application Context 鐗規(guī)х殑綾匯丼truts 涓嶫SF 闆嗘垚綾匯佹枃浠朵笂浼犵殑鏀寔綾匯丗ilter 綾誨拰澶ч噺宸ュ叿杈呭姪綾匯?br />
澶栭儴渚濊禆spring-context, Servlet API, (JSP API, JSTL, Commons FileUpload, COS)銆?br />
>>spring-webmvc.jar
榪欎釜jar 鏂囦歡鍖呭惈Spring MVC 妗嗘灦鐩稿叧鐨勬墍鏈夌被銆傚寘鎷鏋剁殑Servlets錛學(xué)eb MVC妗嗘灦錛屾帶鍒跺櫒鍜岃鍥炬敮鎸併傚綋鐒?dòng)灱屽鏋滀綘鐨勫簲鐢ㄤ娇鐢ㄤ簡鐙珛鐨凪VC 妗嗘灦錛屽垯鏃犻渶榪欎釜JAR 鏂囦歡閲岀殑浠諱綍綾匯?br />
澶栭儴渚濊禆spring-web, (spring-support錛孴iles錛宨Text錛孭OI)銆?br />
>>spring-portlet.jar
spring鑷繁瀹炵幇鐨勪竴涓被浼糞pring MVC鐨勬鏋躲傚寘鎷竴涓狹VC妗嗘灦鍜屾帶鍒跺櫒銆?br />
澶栭儴渚濊禆spring-web錛?nbsp;Portlet API錛?spring-webmvc)銆?br />
>>spring-struts.jar
Struts妗嗘灦鏀寔錛屽彲浠ユ洿鏂逛究鏇村鏄撶殑闆嗘垚Struts妗嗘灦銆?br />
澶栭儴渚濊禆spring-web錛孲truts銆?br />
>>spring-remoting.jar
榪欎釜jar 鏂囦歡鍖呭惈鏀寔EJB銆佽繙紼嬭皟鐢≧emoting錛圧MI銆丠essian銆丅urlap銆丠ttp Invoker銆丣AX-RPC錛夋柟闈㈢殑綾匯?br />
澶栭儴渚濊禆spring-aop錛?nbsp;(spring-context錛宻pring-web錛孒essian錛孊urlap錛孞AX-RPC錛孍JB API)銆?br />
>>spring-jmx.jar
榪欎釜jar鍖呮彁渚涗簡瀵笿MX 1.0/1.2鐨勬敮鎸佺被銆?nbsp;     

澶栭儴渚濊禆spring-beans錛宻pring-aop錛?nbsp;JMX API銆?br />
>>spring-jms.jar
榪欎釜jar鍖呮彁渚涗簡瀵笿MS 1.0.2/1.1鐨勬敮鎸佺被銆?br />
澶栭儴渚濊禆spring-beans錛宻pring-dao錛孞MS API銆?br />
>>spring-jca.jar
瀵笿CA 1.0鐨勬敮鎸併?br />
澶栭儴渚濊禆spring-beans錛宻pring-dao錛?nbsp;JCA API銆?br />
>>spring-jdo.jar
瀵笿DO 1.0/2.0鐨勬敮鎸併?nbsp;     

澶栭儴渚濊禆spring-jdbc錛?nbsp;JDO API錛?nbsp;(spring-web)銆?br />
>>spring-jpa.jar
瀵笿PA 1.0鐨勬敮鎸併?br />
澶栭儴渚濊禆spring-jdbc錛?nbsp;JPA API錛?nbsp;(spring-web)銆?br />
>>spring-hibernate2.jar
瀵笻ibernate 2.1鐨勬敮鎸侊紝宸茬粡涓嶅緩璁嬌鐢ㄣ?br />
澶栭儴渚濊禆spring-jdbc錛孒ibernate2錛?spring-web)銆?br />
>>spring-hibernate3.jar
瀵笻ibernate 3.0/3.1/3.2鐨勬敮鎸併?br />
澶栭儴渚濊禆spring-jdbc錛孒ibernate3錛?spring-web)銆?br />
>>spring-toplink.jar
瀵筎opLink妗嗘灦鐨勬敮鎸併?br />
澶栭儴渚濊禆spring-jdbc錛孴opLink銆?br />
>>spring-ibatis.jar
瀵筰BATIS SQL Maps鐨勬敮鎸併?br />
澶栭儴渚濊禆spring-jdbc錛宨BATIS SQL Maps銆?br />
>>spring-mock.jar
榪欎釜jar 鏂囦歡鍖呭惈Spring 涓鏁村mock 綾繪潵杈呭姪搴旂敤鐨勬祴璇曘係pring 嫻嬭瘯濂椾歡浣跨敤浜嗗叾涓ぇ閲弇ock 綾伙紝榪欐牱嫻嬭瘯灝辨洿鍔犵畝鍗曘傛ā鎷烪ttpServletRequest 鍜孒ttpServletResponse 綾誨湪Web 搴旂敤鍗曞厓嫻嬭瘯鏄緢鏂逛究鐨勩傚茍涓旀彁渚涗簡瀵笿Unit鐨勬敮鎸併?br />
澶栭儴渚濊禆spring-core銆?br />
>>spring-aspects.jar
鎻愪緵瀵笰spectJ鐨勬敮鎸侊紝浠ヤ究鍙互鏂逛究鐨勫皢闈㈠悜鏂歸潰鐨勫姛鑳介泦鎴愯繘IDE涓紝姣斿Eclipse AJDT銆?br />
澶栭儴渚濊禆銆?br />

WEAVER JARS (dist/weavers)璇存槑:

>>spring-agent.jar
Spring鐨処nstrumentationSavingAgent (涓篒nstrumentationLoadTimeWeaver)錛屼竴涓澶囦唬鐞嗗寘錛屽彲浠ュ弬鑰僇DK1.5鐨処nstrumentation鍔熻兘鑾峰緱鏇村淇℃伅銆?br />
澶栭儴渚濊禆none (for use at JVM startup: "-javaagent:spring-agent.jar")銆?br />
>>spring-tomcat-weaver.jar
鎵╁睍Tomcat鐨凜lassLoader錛屼嬌鍏跺彲浠ヤ嬌鐢╥nstrumentation錛堣澶囷級(jí)綾匯?br />
澶栭儴渚濊禆none (for deployment into Tomcat's "server/lib" directory)銆?br />
濡傛灉闇瑕佷嬌鐢↗SP璇█浣滀負(fù)Spring's web MVC tags鐨勫弬鏁幫紝鍒欓渶瑕丣SP 2.0鐨勬敮鎸併傛垨鑰呴夋嫨Jakarta鐨凧STL (standard.jar)銆?/strong>



crazycy 2014-01-06 19:08 鍙戣〃璇勮
]]>
JBoss5 for Java5 vs JBoss for Java6http://www.tkk7.com/crazycy/archive/2013/07/12/401501.htmlcrazycycrazycyFri, 12 Jul 2013 06:59:00 GMThttp://www.tkk7.com/crazycy/archive/2013/07/12/401501.htmlhttp://www.tkk7.com/crazycy/comments/401501.htmlhttp://www.tkk7.com/crazycy/archive/2013/07/12/401501.html#Feedback0http://www.tkk7.com/crazycy/comments/commentRss/401501.htmlhttp://www.tkk7.com/crazycy/services/trackbacks/401501.html
絎竴涓簨鎯呮槸錛?涓暟鎹簱鐨勫啓鎿嶄綔鍦ㄥ悓涓涓簨鍔?Transaction)涓紝鏈湴寮鍙戠幆澧冨拰鍏徃鐨勯泦鎴愭祴璇曠幆澧冭繍杞兘寰堝ソ錛涗絾鏄湪瀹㈡埛鏈哄櫒涓婏細(xì)

2013-05-06 19:10:49,957 WARN  [org.jboss.tm.usertx.UserTransactionRegistry] (http-0.0.0.0-8380-1) Error notifying listener org.jboss.resource.connectionmanager.CachedConnectionManager@1187172 of userTransactionStarted

java.lang.IllegalStateException: Trying to change transaction TransactionImple < ac, BasicAction: -53e5e9f0:e87f:51878ef5:b3c status: ActionStatus.RUNNING > in enlist!

            at org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener.enlist(TxConnectionManager.java:623)
            at org.jboss.resource.connectionmanager.TxConnectionManager.transactionStarted(TxConnectionManager.java:394)
            at org.jboss.resource.connectionmanager.CachedConnectionManager.userTransactionStarted(CachedConnectionManager.java:350)
            at org.jboss.tm.usertx.UserTransactionRegistry.userTransactionStarted(UserTransactionRegistry.java:119)

            at org.jboss.tm.usertx.client.ServerVMClientUserTransaction.begin(ServerVMClientUserTransaction.java:141)

            at org.springframework.transaction.jta.JtaTransactionManager.doJtaBegin(JtaTransactionManager.java:863)

            at org.springframework.transaction.jta.JtaTransactionManager.doBegin(JtaTransactionManager.java:820)

            at org.springframework.transaction.support.AbstractPlatformTransactionManager.handleExistingTransaction(AbstractPlatformTransactionManager.java:423)
            at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:347)
            at org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java:335)
            at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:105)
            at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
            at org.springframework.aop.framework.adapter.ThrowsAdviceInterceptor.invoke(ThrowsAdviceInterceptor.java:124)
            at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
            at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:621)
            at com.jc.cxc.ws.ax.process.CxCAXWsSendingProcessorR1$$EnhancerByCGLIB$$4481d594.saveDBI_IntegrationQueueCcxc2axSmry(<generated>)
            at com.jc.cxc.ws.ax.process.CxCAXWsSendingProcessorR1.documentProcess(CxCAXWsSendingProcessorR1.java:1022)

絎簩涓簨鎯呮槸渚濈劧鏄被浼肩殑錛屽湪鏈湴鏈哄拰闆嗘垚嫻嬭瘯鏈轟笂宸ヤ綔寰堝ソ錛屽湪瀹㈡埛鏈嶅姟鍣ㄤ笂灝辨彁紺洪敊璇細(xì)
java.lang.reflect.InvocationTargetException

                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                at java.lang.reflect.Method.invoke(Method.java:597)
                at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:280)
                at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:216)
                at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
                at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
                at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
                at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
                at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
                at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
                at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311)
                at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)
                at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
                at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
                at com.jc.cxc.web.filter.SessionManageProcessingFilter.doFilter(SessionManageProcessingFilter.java:100)
                at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
                at com.justcommodity.cxc.servlets.filters.CxcUsernamePasswordAuthenticationFilter.doFilter(CxcUsernamePasswordAuthenticationFilter.java:42)
                at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
                at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
                at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
                at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:173)
                at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
                at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
                at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                at com.justcommodity.cxc.servlets.filters.GeneralFilter.doFilter(GeneralFilter.java:66)
                at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
                at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
                at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
                at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
                at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
                at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
                at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
                at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
                at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
                at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
                at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
                at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
                at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
                at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
                at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
                at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.AbstractMethodError: org.jboss.resource.adapter.jdbc.jdk5.WrappedStatementJDK5.isClosed()Z
                at com.justcommodity.security.AutoAuthentication.initAuthenticationInfo(AutoAuthentication.java:75)
                at com.jc.springframework.security.context.CxcAuthentication.autoAuthenticationInfo(CxcAuthentication.java:28)
                at com.jc.cxc.ws.transrisk.service.CxcTransriskSenderR1.sendTransRiskData(CxcTransriskSenderR1.java:456)
                at com.justcommodity.cxc.jsp.admin.integration.transrisk.TransactionAction.sentTRData(TransactionAction.java:138)
                 50 more


鏈緇堝彂鐜頒簡鏄敤Jboss for Java5鐨剉ersion鍦↗ava6鐜涓?br />媯(gè)鏌ョ殑鏂瑰紡鏄細(xì)

To know if which JBoss 5 installed, check boot.log
- For jboss-5.1.0.GA-jdk6.zip file, the log will show date=200905221634
e.g
    20:34:31,522 INFO [ServerImpl] Release ID: JBoss [The Oracle] 5.1.0.GA (build: SVNTag=JBoss_5_1_0_GA date=200905221634)
 

- For JDK5 compiled version you would see date=200905221053:
e.g 
    21:48:35,141 INFO  [ServerImpl] Release ID: JBoss [The Oracle] 5.1.0.GA (build: SVNTag=JBoss_5_1_0_GA date=200905221053)

crazycy 2013-07-12 14:59 鍙戣〃璇勮
]]>
Quartz Cron琛ㄨ揪寮?/title><link>http://www.tkk7.com/crazycy/archive/2013/06/06/400287.html</link><dc:creator>crazycy</dc:creator><author>crazycy</author><pubDate>Thu, 06 Jun 2013 03:35:00 GMT</pubDate><guid>http://www.tkk7.com/crazycy/archive/2013/06/06/400287.html</guid><wfw:comment>http://www.tkk7.com/crazycy/comments/400287.html</wfw:comment><comments>http://www.tkk7.com/crazycy/archive/2013/06/06/400287.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.tkk7.com/crazycy/comments/commentRss/400287.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/crazycy/services/trackbacks/400287.html</trackback:ping><description><![CDATA[姣忔浣跨敤Quartz Cron鐨勬椂鍊欓兘瑕佸幓鏌?a >manual document</a>;<br />錛圲RI:<span style="font-size: 14px;">http://quartz-scheduler.org/documentation/quartz-1.x/tutorials/crontrigger)<br /><br />瀵逛簬絎洓涓猟ay of month 鍜?絎叚涓?day of week甯稿父闇瑕佽姳鏃墮棿錛岃繖閲屽仛涓畝鍗曟葷粨<br /></span><div style="padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; width: 876.1221313476563px; word-break: break-all;">*    *   *     *    *    *   (year optional)<br />┬   ┬    ┬    ┬    ┬    ┬<br />│   │    │    │    │    │<br />│   │    │    │    │    │<br />│   │    │    │    │    └───── day of week (0 - 7) (0 or 7 is Sun, or use names)<br />│   │    │    │    └────────── month (1 - 12)<br />│   │    │    └─────────────── day of month (1 - 31)<br />│   │    └──────────────────── hour (0 - 23)<br />│   └───────────────────────── min (0 - 59)<br />└────────────────────────      seconds<br />Wild-cards (the * character) can be used to say "every" possible value of <span style="color: #0000ff;">this</span> field. <br />Therefore the * character in the "Month" field simply means "every month". <br />A '*' in the Day-Of-Week field would therefore obviously mean "every day of the week".<br /><br />The '?' character is allowed <span style="color: #0000ff;">for</span> the day-of-month and day-of-week fields. <br />It is used to specify "no specific value". This is useful when you need to specify something in one of the two fields, but not the other.</div><br />涓轟簡瑙i噴娓呮“?"瀛楃鐨勪嬌鐢紝鍐嶆潵涓孌?br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->Field Name    Mandatory    Allowed Values    Allowed Special Characters<br />Seconds         YES            0-59                        , - * /<br />Minutes          YES            0-59                        , - * /<br />Hours             YES            0-23                        , - * /<br />Day of month  YES            1-31                        , - * ? / L W<br />Month             YES            1-12 or JAN-DEC      , - * /<br />Day of week    YES            1-7 or SUN-SAT        , - * ? / L #<br />Year                NO            empty, 1970-2099     , - * /<br /><br />鍙互鐪嬪埌鍙湁絎洓銆佸叚涓や釜浣嶇疆鍏佽浣跨敤"?"<br />榪欏氨璇存槑榪?涓綅緗槸鐩鎬簰渚濊禆鐨?br /><tt style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; line-height: 1; font-family: inherit; color: #555555; background-color: #f9f9f9;"><strong style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; line-height: inherit; font-family: inherit;">?</strong></tt><span style="color: #555555; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 13px; background-color: #f9f9f9;"> (</span><em style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #555555; background-color: #f9f9f9;">"no specific value"</em><span style="color: #555555; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 13px; background-color: #f9f9f9;">) - useful when you need to specify something in one of the two fields in which the character is allowed, but not the other. For example, if I want my trigger to fire on a particular day of the month (say, the 10th), but don't care what day of the week that happens to be, I would put "10" in the day-of-month field, and "?" in the day-of-week field. See the examples below for clarification.</span><br /><br />鎵浠ヤ竴鏃︾敤浜??"錛屽氨璇存槑榪欎釜瀛楁涓嶈搗浣滅敤浜嗭紝瀵瑰簲鐨勫彟涓涓瓧孌佃搗浣滅敤錛?/div><br />鎵浠ワ細(xì)<br />1. 閰嶇疆涓涓換鍔″湪姣忓ぉ鍑屾櫒2鐐硅繍琛屽仛鍑烘埅姝㈠埌褰撴棩鐨勬姤琛紝浣嗘槸鍛ㄦ湯鍥犱負(fù)娌′漢鍊肩彮鎵浠ヤ笉闇瑕佺敓鎴愭姤琛紝榪欎釜琛ㄨ揪寮忓氨鏄?br />    <span style="background-color: #eeeeee; font-size: 13px;">0</span><span style="background-color: #eeeeee; font-size: 13px;"> </span><span style="background-color: #eeeeee; font-size: 13px;">0</span><span style="background-color: #eeeeee; font-size: 13px;"> 2 </span><span style="background-color: #eeeeee; font-size: 13px;">?</span><span style="background-color: #eeeeee; font-size: 13px;"> </span><span style="background-color: #eeeeee; font-size: 13px;">*</span><span style="background-color: #eeeeee; font-size: 13px;"> MON</span><span style="background-color: #eeeeee; font-size: 13px;">-FRI</span><br />2. 閰嶇疆涓涓換鍔″湪姣忎釜鏈堢殑鏈鍚庝竴澶╁閲?1鐐硅繍琛?br />    <span style="background-color: #eeeeee; font-size: 13px;">0</span><span style="background-color: #eeeeee; font-size: 13px;"> </span><span style="background-color: #eeeeee; font-size: 13px;">0</span><span style="background-color: #eeeeee; font-size: 13px;"> </span><span style="background-color: #eeeeee; font-size: 13px;">23</span><span style="background-color: #eeeeee; font-size: 13px;"> L </span><span style="background-color: #eeeeee; font-size: 13px;">*</span><span style="background-color: #eeeeee; font-size: 13px;"> </span><span style="background-color: #eeeeee; font-size: 13px;">?<br /><br /><br /><br />濡傛灉鎯崇敤鏁版嵁搴撻┍鍔ㄨ繖涓椂闂存庝箞鍔炲憿錛熻闂笅闈㈠ぇ铏劇殑鍋氭硶錛?br /></span><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->Dec 22nd, 2008, 01:53 AM #2 Siva Krishna  <br /><span style="font-size: 13px;">Hello,</span><br /><br />I got almost similar requirement, <strong style="color: #ff0000;">making the schedulers as DB driven</strong>, and handled it in the following way.<br /><br />I created a <span style="color: #0000FF; ">new</span> UI that takes start time & interval time and saves them in DB. Then<strong style="color: #ff0000;"> a method is called to refresh the given jobs/schedulers</strong>. <br /><br />Here is the snippet.<br /><br />Code:<br /><span style="color: #0000FF; ">try</span> {<br />    scheduler = (StdScheduler) context.getBean(schedulerVO.getSchedulerName());<br />    triggerNames = <span style="color: #0000FF; ">new</span> String[] {};<br /><br />    <span style="color: #0000FF; ">if</span> (scheduler != <span style="color: #0000FF; ">null</span>) {<br />        <span style="color: #0000FF; ">try</span> {<br />            <span style="color: #008000; ">//</span><span style="color: #008000; "> throws SchedulerException</span><span style="color: #008000; "><br /></span>            triggerNames = scheduler.getTriggerNames("DEFAULT");<br />            triggerName = triggerNames.length > 0 ? triggerNames[0] : "";<br />            trigger = (CronTrigger) scheduler.getTrigger(triggerName, "DEFAULT");<br />            <span style="color: #0000FF; ">if</span> (trigger != <span style="color: #0000FF; ">null</span>) {<br /><span style="font-size: 13px;">                </span><span style="font-size: 13px; color: #008000;">//</span><span style="font-size: 13px; color: #008000;"> throws ParseException                                    </span><br />                trigger.<strong style="color: #000080;">setCronExpression</strong>(getCronExpression(schedulerVO.getStartTime(), schedulerVO.getInterval()));<br /><br />                <span style="color: #008000; ">//</span><span style="color: #008000; "> throws SchedulerException</span><span style="color: #008000; "><br /></span>                scheduler.<strong style="color: #000080;">rescheduleJob</strong>(triggerName, "DEFAULT",trigger);<br />            } <br />        } <span style="color: #0000FF; ">catch</span> (SchedulerException e) {                    <br />            logger.error(e);<br />        } <span style="color: #0000FF; ">catch</span> (ParseException e) {<br />            logger.error(e);<br />        }<br />    }<br />} <span style="color: #0000FF; ">catch</span> (NoSuchBeanDefinitionException e) {<br />    logger.error(e);<br />}<br /><br /><br />Computing the cronExpression with <span style="color: #0000FF; ">this</span> method.<br /><br />Code:<br /><span style="color: #0000FF; ">private</span> String getCronExpression(String startTime, String interval) {        <br /><span style="font-size: 13px;">    String cronExpression </span><span style="font-size: 13px;">=</span><span style="font-size: 13px;"> </span><span style="font-size: 13px;">""</span><span style="font-size: 13px;">;</span><br /><span style="font-size: 13px;">    </span><span style="font-size: 13px; color: #0000ff;">if</span><span style="font-size: 13px;"> (</span><span style="font-size: 13px;">"</span><span style="font-size: 13px;">0</span><span style="font-size: 13px;">"</span><span style="font-size: 13px;">.equals(startTime) </span><span style="font-size: 13px;">||</span><span style="font-size: 13px;"> </span><span style="font-size: 13px;">"</span><span style="font-size: 13px;">0</span><span style="font-size: 13px;">"</span><span style="font-size: 13px;">.equals(interval)) {</span><br />        <span style="color: #008000; ">//</span><span style="color: #008000; "> default trigger runs at 10AM & 10PM            </span><span style="color: #008000; "><br /></span>            cronExpression = "0 0 10/12 * * ?";<br />    } <span style="color: #0000FF; ">else</span> {<br />        cronExpression = "0 0 " + startTime + "/" + interval + " * * ?";<br />        }<br />    <span style="color: #0000FF; ">return</span> cronExpression;<br />}<br />As I need to run the job every day and not concerned about minutes the above approach worked <span style="color: #0000FF; ">for</span> me.<br /><br />Hope <span style="color: #0000FF; ">this</span> gives an idea to you.<br /><br />Regards<br />Siva Krishna.</div><img src ="http://www.tkk7.com/crazycy/aggbug/400287.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/crazycy/" target="_blank">crazycy</a> 2013-06-06 11:35 <a href="http://www.tkk7.com/crazycy/archive/2013/06/06/400287.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>ant鑴氭湰鐨刯avac鎬庝箞媯(gè)嫻嬫簮鐮佹枃浠跺す鏄惁瀛樺湪 ant javac check folder exists or nothttp://www.tkk7.com/crazycy/archive/2013/04/16/397918.htmlcrazycycrazycyTue, 16 Apr 2013 06:52:00 GMThttp://www.tkk7.com/crazycy/archive/2013/04/16/397918.htmlhttp://www.tkk7.com/crazycy/comments/397918.htmlhttp://www.tkk7.com/crazycy/archive/2013/04/16/397918.html#Feedback3http://www.tkk7.com/crazycy/comments/commentRss/397918.htmlhttp://www.tkk7.com/crazycy/services/trackbacks/397918.htmltr\src
tr\src_x1 for prj X1
tr\src_x2 for prj X2
_______  for prj X3, X3涓病鏈夛紝鎬庝箞璁劇疆a(chǎn)nt鑴氭湰鍛紵

<target name="compile-tr">
        <mkdir dir="${tr.classes.dir}" />
        <javac destdir="${tr.classes.dir}" debug="${compiler.debug}" optimize="${compiler.optimize}" source="${compiler.source}" target="${compiler.target}" deprecation="true">
            <classpath>
                <path refid="devel.lib" />
            </classpath>
            <src path="${tr.src.dir}" />
            <src path="${tr.src.dir}_${project.code}" />
        </javac>
</target>

鍦ㄧ紪璇慩3鐨勬椂鍊欙紝榪欒偗瀹氭槸澶辮觸鐨勩?br />
鎬庝箞鍔炲憿錛?閫氳繃Condition鍜孉valiable鏉ュ疄鐜般傦紙璐翠竴涓矖緋欑殑紺鴻寖瀹炵幇錛?br />

<target name="compile-3tr" depends="dir.check" if="dir.exists">
        <mkdir dir="${tr.classes.dir}" />
        <javac destdir="${tr.classes.dir}" debug="${compiler.debug}" optimize="${compiler.optimize}" source="${compiler.source}" target="${compiler.target}" deprecation="true">
            <classpath>
                <path refid="devel.lib" />
            </classpath>
            <src path="${tr.src.dir}" />
            <src path="${tr.src.dir}_${project.code}" />
        </javac>
</target>
    
    <target name="dir.check">
        <condition property="dir.exists" value="true">
            <available file="${tr.src.dir}_${project.code}" type="dir"/>
        </condition>
        <mkdir dir="${tr.classes.dir}" />
    </target>

灞呯劧鍦ㄧ綉涓婃壘鍒頒竴涓洿璧炵殑鎷?br />

<target name="go" depends="file-checks, do-something-with-first-file, do-something-with-second-file"/>

<target name="file-checks">
   <available file="/home/doc/somefile"  property="first.file.found"/>
   <available file="/usr/local/somefile" property="second.file.found"/>
</target>

<target name="do-something-with-first-file" if="first.file.found">
   ???
</target>

<target name="do-something-with-second-file" if="second.file.found">
   ???
</target>

鍘熸潵if....then....else闇瑕?span style="font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif; line-height: 18px; background-color: #ffffff;">ant-contrib鐨勬敮鎸侊紝鎬笉寰楁垜涓鐩村け璐?br />
ant-contrib

<if>
    <available file="file1"/>
    <then>
      <property name="file.exists" value="true"/>
    </then>
    <else>
      <if>
        <available file="file2"/>
        <then>
          <copy file="file2" tofile="file1"/>
          <property name="file.exists" value="true"/>
        </then>
      </if>
    </else>
  </if>

鏈鍚庢垜寰堢敓姘旂殑鎵懼埌浜哸pache鏈韓鐨勬妧鏈枃妗?nbsp;

If/Unless Attributes

http://ant.apache.org/manual/properties.html#if+unless

If/Unless Attributes

The <target> element and various tasks (such as <fail>) and task elements (such as <test> in <junit>) support if and unless attributes which can be used to control whether the item is run or otherwise takes effect.

In Ant 1.7.1 and earlier, these attributes could only be property names. The item was enabled if a property with that name was defined - even to be the empty string or false - and disabled if the property was not defined. For example, the following works but there is no way to override the file existence check negatively (only positively):

<target name="-check-use-file">
    <available property="file.exists" file="some-file"/>
</target>
<target name="use-file" depends="-check-use-file" if="file.exists">
    <!-- do something requiring that file -->
</target>
<target name="lots-of-stuff" depends="use-file,other-unconditional-stuff"/>
  
As of Ant 1.8.0, you may instead use property expansion; a value of true (or on or yes) will enable the item, while false (or off or no) will disable it. Other values are still assumed to be property names and so the item is enabled only if the named property is defined.

Compared to the older style, this gives you additional flexibility, because you can override the condition from the command line or parent scripts:

<target name="-check-use-file" unless="file.exists">
    <available property="file.exists" file="some-file"/>
</target>
<target name="use-file" depends="-check-use-file" if="${file.exists}">
    <!-- do something requiring that file -->
</target>
<target name="lots-of-stuff" depends="use-file,other-unconditional-stuff"/>
  
Now ant -Dfile.exists=false lots-of-stuff will run other-unconditional-stuff but not use-file, as you might expect, and you can disable the condition from another script too:

<antcall target="lots-of-stuff">
    <param name="file.exists" value="false"/>
</antcall>
  
Similarly, an unless attribute disables the item if it is either the name of property which is defined, or if it evaluates to a true-like value. For example, the following allows you to define skip.printing.message=true in my-prefs.properties with the results you might expect:

<property file="my-prefs.properties"/>
<target name="print-message" unless="${skip.printing.message}">
    <echo>hello!</echo>
</target>



crazycy 2013-04-16 14:52 鍙戣〃璇勮
]]>
Spring-緋葷粺鍚姩鏃跺垵濮嬪寲鏁版嵁搴撶殑鏁版嵁/緋葷粺鍚姩鏃舵搷浣滄暟鎹簱http://www.tkk7.com/crazycy/archive/2013/03/17/396562.htmlcrazycycrazycySun, 17 Mar 2013 11:55:00 GMThttp://www.tkk7.com/crazycy/archive/2013/03/17/396562.htmlhttp://www.tkk7.com/crazycy/comments/396562.htmlhttp://www.tkk7.com/crazycy/archive/2013/03/17/396562.html#Feedback0http://www.tkk7.com/crazycy/comments/commentRss/396562.htmlhttp://www.tkk7.com/crazycy/services/trackbacks/396562.html
鎽哥儲(chǔ)錛歋Bean鍙互IoC娉ㄥ叆闇瑕佺殑璧勬簮姣斿DataSource;

Spring Bean Config
<bean id="idPoolsInitilizedProcessor" class="utils.IDPoolsInitilizedListener" scope="singleton" >
        <property name="datasource" ref="dataDS"/>
 </bean>

Spring Bean Code
public class JcIDPoolsInitilizedListener {
    private DataSource datasource = null
  
  public JcIDPoolsInitilizedBean() {
    System.out.println("%%%%%%%%%%%%%%");    
    try {
      //initilize msgid
      String refName = CxcConstants.REFCOUNTER_MSGID; 
      String sql = "update refcounter set nextnumber=(select max(msgid)+1 from msg) where refcounterid=?";
      update(sql, new Object[]{refName}); 
    } catch (Exception ex) {
      ex.printStackTrace();
    }
  }
    private int update(String anSql, Object[] args) throws Exception {
      int affactRows = 0;
      Connection con = null;
      PreparedStatement stmt = null;
      try {
        con = datasource.getConnection();
        stmt = con.prepareStatement(anSql);
        setSQLParams(stmt, args);
        affactRows = stmt.executeUpdate();
        return affactRows;
      } finally {
        try
          if (null != stmt) {
            stmt.close();
          }
          if (null != con) {
            con.close();
          }
        } catch (Exception ex) {
          ex.printStackTrace();
        }
      }
    }
    
    private void setSQLParams(PreparedStatement stmt, Object[] args) throws Exception {
      if (null != args && 0 < args.length) {
        for (int i = 0, n = args.length; i < n; i++) {
          stmt.setObject(i + 1, args[i]);
        }
      }
    }

    public DataSource getDatasource() {
      return datasource;
    }

    public void setDatasource(DataSource datasource) {
      this.datasource = datasource;
    }
}

緇撴灉錛氱▼搴忓惎鍔ㄧ殑鏃跺欎細(xì)鎶涘嚭NullPointException錛屽洜涓?span style="font-size: 13px; background-color: #eeeeee;">datasource騫舵病鏈夊垵濮嬪寲濂姐?br />
鎽哥儲(chǔ)錛歋pring鐨勪簨浠舵満鍒訛細(xì)瀹炵幇ApplicationListener錛屽湪onApplicationEvent鐨勬柟娉曡繘琛屾暟鎹垵濮嬪寲鎿嶄綔錛屽彧瑕佸鍣ㄥ惎鍔紝灝變細(xì)鎵ц榪欓噷鐨勪唬鐮併?br />
public class JcIDPoolsInitilizedListener implements ApplicationListener {
  
  private DataSource datasource = null
  
  public void onApplicationEvent(ApplicationEvent argo) {
    //todo: code is same as previous 
  }
    
  //todo: all the other part is same as previous
}

鎴愬姛銆?br />
鐒跺悗鐨勭劧鍚庡憿錛熶細(xì)鍙戠幇紼嬪簭涓繖涓垵濮嬪寲琚嬈¤皟鐢ㄣ?br />涓轟粈涔堝憿錛?鍘熷洜鏄疞istener瀹氫箟涓嶅埌浣嶃?br />涓轟粈涔堝憿錛?鍙鏄疉pplicationEvent閮戒細(xì)瑙﹀彂錛岄粯璁ょ殑浜嬩歡鏄痮rg.springframework.security.access.event.PublicInvocationEvent錛岃偗瀹氳Е鍙戠殑銆?br />
鎬庝箞鍔炲憿錛?br />濂藉惂錛屾棦鐒舵槸Listener錛屾誨緱鍛婅瘔瀹僉isten浠涔圗vent鍚с?br />絎竴 瀹氫箟Listener
public class JcIDPoolsInitilizedListener implements ApplicationListener {
  
  private DataSource datasource = null
  
  public void onApplicationEvent(ApplicationEvent argo) {
     if (argo instanceof IDPoolsInitilizedEvent) {
        //todo: code is same as previous 
     }
   
     //todo: all the other part is same as previous
}

絎簩 瀹氫箟Event
public class IDPoolsInitilizedEvent extends ApplicationEvent{
  private static final long serialVersionUID = 646140097162842368L;
  
  public IDPoolsInitilizedEvent(Object source){
     super(source);
  }
}

絎笁 瀹氫箟Event鎶涘嚭鐐?br />

public class IDPoolsInitilizedBean implements ApplicationContextAware{
  private ApplicationContext applicationContext;
  public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
    this.applicationContext = applicationContext;
    IDPoolsInitilizedEvent event = new IDPoolsInitilizedEvent("IDPoolsInitilized");
    this.applicationContext.publishEvent(event);
  }
}

絎洓 瀹氫箟閰嶇疆鏂囦歡
<bean id="idPoolsInitilizedListenerProcessor" class="utils.IDPoolsInitilizedListenerBean"
        scope
="singleton" >
        <property name="datasource" ref="dataDS"/>
    </bean>
    <bean id="idPoolsInitilizedProcessor" class="utils.IDPoolsInitilizedBean"
        scope
="singleton" />


crazycy 2013-03-17 19:55 鍙戣〃璇勮
]]>
eclipse楂樹寒閫変腑鐨勫彉閲忓け鏁堢殑鏂規(guī)硶 eclipse highlight occurrences not workinghttp://www.tkk7.com/crazycy/archive/2013/01/26/394802.htmlcrazycycrazycySat, 26 Jan 2013 08:48:00 GMThttp://www.tkk7.com/crazycy/archive/2013/01/26/394802.htmlhttp://www.tkk7.com/crazycy/comments/394802.htmlhttp://www.tkk7.com/crazycy/archive/2013/01/26/394802.html#Feedback0http://www.tkk7.com/crazycy/comments/commentRss/394802.htmlhttp://www.tkk7.com/crazycy/services/trackbacks/394802.html1. 瑕佹樉紺哄摢浜涚被鍨?/div>
windows->preferences->java->Editor-> Mark Occurrences
2. 楂樹寒鏄劇ず鐨勯鑹?/div>
Window->Preferences->General->Editors->Text Editors->Annotations->Occurrences
3. 鎴栬呬嬌鐢ㄥ揩鎹烽敭 
Alt + Shift + o
4.榪樹笉琛岋紵
瑕佹鏌ュ伐紼嬩腑鐨刡uild path鐪嬬湅鏄笉鏄湁library緙哄皯鎴栬呮槸涓嶆槸JDK閰嶇疆閿欒


crazycy 2013-01-26 16:48 鍙戣〃璇勮
]]> 主站蜘蛛池模板: 亚洲区小说区图片区QVOD| 久久久久久国产精品免费无码 | 亚洲理论片中文字幕电影| igao激情在线视频免费| 国产美女无遮挡免费网站| 亚洲精品色播一区二区| 毛片高清视频在线看免费观看| 亚洲国产中文在线二区三区免| 日本特黄a级高清免费大片| 亚洲AV无码无限在线观看不卡| 亚洲无吗在线视频| 中国在线观看免费国语版| 亚洲av午夜精品无码专区| 拍拍拍又黄又爽无挡视频免费| 亚洲 暴爽 AV人人爽日日碰| 精品国产免费观看| 国内成人精品亚洲日本语音| 亚洲福利精品电影在线观看| av永久免费网站在线观看 | 7m凹凸精品分类大全免费| 亚洲理论在线观看| 国产精品美女自在线观看免费| 污污的视频在线免费观看| 亚洲无线码在线一区观看| 久久免费的精品国产V∧| 77777午夜亚洲| 亚洲&#228;v永久无码精品天堂久久 | 国产V亚洲V天堂无码久久久| 免费无码中文字幕A级毛片| 亚洲av成人一区二区三区| 亚洲 综合 国产 欧洲 丝袜| 久久这里只精品热免费99| 456亚洲人成影院在线观| 免费观看国产小粉嫩喷水| 国内精品免费在线观看| 国产亚洲国产bv网站在线| 亚洲AV日韩精品一区二区三区| 久久国产乱子伦精品免费不卡| 亚洲日韩国产欧美一区二区三区| 亚洲伊人久久成综合人影院| 日本免费人成在线网站|