锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
聽鍏抽敭瀛?ActiveMQ,瀹炶返聽
聽聽聽 涓.瀹夎ActiveMQ
聽聽聽聽聽聽 棣栧厛鍘?a >http://activemq.apache.org/download.html 涓嬭澆鏈鏂扮増鏈?.1.0release (http://activemq.apache.org/activemq-410-release.html),
聽聽聽 瑙e帇apache-activemq-4.1-incubator.zip(鎴栬卆pache-activemq-4.1-incubator.tar.gz)鐩綍濡備笅:
聽聽聽聽聽聽
聽聽聽聽聽聽 +bin聽聽聽聽聽聽 (windows涓嬮潰鐨刡at鍜寀nix/linux涓嬮潰鐨剆h)
聽聽聽聽聽聽 +conf聽聽聽聽聽 (activeMQ閰嶇疆鐩綍,鍖呭惈鏈鍩烘湰鐨刟ctiveMQ閰嶇疆鏂囦歡)
聽聽聽聽聽聽 +data聽聽聽聽聽 (榛樿鏄┖鐨?
聽聽聽聽聽聽 +docs聽聽聽聽聽 (index,replease鐗堟湰閲岄潰娌℃湁鏂囨。,-.-b涓嶇煡閬撲負鍟ヤ笉甯?
聽聽聽聽聽聽 +example聽聽 (鍑犱釜渚嬪瓙
聽聽聽聽聽聽 +lib聽聽聽聽聽聽 (activemMQ浣跨敤鍒扮殑lib)
聽聽聽聽聽聽 -apache-activemq-4.1-incubator.jar聽 (ActiveMQ鐨刡inary)
聽聽聽聽聽聽 -LICENSE.txt聽聽聽聽聽聽
聽聽聽聽聽聽 -NOTICE.txt聽聽聽聽聽聽聽
聽聽聽聽聽聽 -README.txt
聽聽聽聽聽聽 -user-guide.html
聽聽聽聽聽聽 浣犲彲浠ヤ嬌鐢╞in\activemq.bat(activemq) 鍚姩,濡傛灉涓鍒囬『鍒?浣犲氨浼氱湅瑙佺被浼間笅闈㈢殑淇℃伅
聽聽聽聽聽 (緇嗚妭鍙兘涓嶄竴鏍?姣斿璺緞,鎴栬卝mx,jdbc淇℃伅)
聽 ACTIVEMQ_HOME: D:\java\framework_and_lib\activemq\apache-activemq-4.1-incubator\
bin\..
Loading message broker from: xbean:activemq.xml
INFO聽 BrokerService聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 - ActiveMQ null JMS Message Broker (localho
st) is starting
INFO聽 BrokerService聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 - For help or more information please see:
http://incubator.apache.org/activemq/
INFO聽 ManagementContext聽聽聽聽聽聽聽聽聽聽聽聽聽 - JMX consoles can connect to service:jmx:r
mi:///jndi/rmi://localhost:1099/jmxrmi
INFO聽 JDBCPersistenceAdapter聽聽聽聽聽聽聽聽 - Database driver recognized: [apache_derby
_embedded_jdbc_driver]
INFO聽 DefaultDatabaseLocker聽聽聽聽聽聽聽聽聽 - Attempting to acquire the exclusive lock
to become the Master broker
INFO聽 DefaultDatabaseLocker聽聽聽聽聽聽聽聽聽 - Becoming the master on dataSource: org.ap
ache.derby.jdbc.EmbeddedDataSource@1d840cd
INFO聽 JournalPersistenceAdapter聽聽聽聽聽 - Journal Recovery Started from: Active Jou
rnal: using 5 x 20.0 Megs at: D:\java\framework_and_lib\activemq\apache-activemq
-4.1-incubator\activemq-data\journal
INFO聽 JournalPersistenceAdapter聽聽聽聽聽 - Journal Recovered: 0 message(s) in transa
ctions recovered.
INFO聽 TransportServerThreadSupport聽聽 - Listening for connections at: tcp://P-SUW
EI:61616
WARN聽 MulticastDiscoveryAgent聽聽聽聽聽聽聽 - brokerName not set
INFO聽 TransportConnector聽聽聽聽聽聽聽聽聽聽聽聽 - Connector default Started
INFO聽 TransportServerThreadSupport聽聽 - Listening for connections at: stomp://P-S
UWEI:61613
INFO聽 TransportConnector聽聽聽聽聽聽聽聽聽聽聽聽 - Connector stomp Started
INFO聽 NetworkConnector聽聽聽聽聽聽聽聽聽聽聽聽聽聽 - Network Connector default Started
INFO聽 BrokerService聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 - ActiveMQ JMS Message Broker (localhost, I
D:P-SUWEI-1207-1170916242296-1:0) started聽聽聽聽聽
聽聽聽聽聽聽聽聽 *銆傚嚑涓皬鎻愮ず
聽 1. 榪欎釜浠呬粎鏄渶鍩虹鐨凙ctiveMQ鐨勯厤緗?寰堝鍦版柟閮芥病鏈夐厤緗洜姝や笉瑕佺洿鎺ヤ嬌鐢ㄨ繖涓厤緗敤浜庣敓浜х郴緇?br />聽 2. 鏈夌殑鏃跺欑敱浜庣鍙h鍗犵敤,瀵艱嚧ActiveMQ閿欒,ActiveMQ鍙兘闇瑕佷互涓嬬鍙?099(JMX),61616(榛樿鐨凾ransportConnector)
聽 3. 濡傛灉娌℃湁鐗╃悊緗戝崱,鎴栬匨S鐨凩oopBackAdpater Multicast浼氭姤涓涓敊璇?/p>
聽聽聽聽 浜? 嫻嬭瘯浣犵殑ActiveMQ
聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽 鐢變簬ActiveMQ鏄竴涓嫭绔嬬殑jms provider,鎵浠ユ垜浠笉闇瑕佸叾浠栦換浣曠涓夋柟鏈嶅姟鍣ㄥ氨鍙互椹笂鍋氭垜浠殑嫻嬭瘯浜?緙栬瘧
聽聽聽聽 example鐩綍涓嬮潰鐨勭▼搴?br />聽聽聽聽聽聽聽聽聽
聽聽 ProducerTool/ConsumerTool 鏄疛MS鍙傝冮噷闈㈡彁鍒扮殑鍏稿瀷搴旂敤,Producer浜х敓娑堟伅,Consumer娑堣垂娑堟伅
聽聽 鑰屼笖榪欎釜渚嬪瓙榪樺彲浠ュ姞鍏ュ弬鏁板府鍔╀綘嫻嬭瘯鍒氭墠鍚姩鐨勬湰鍦癆ctiveMQ鎴栬呮槸榪滅▼鐨凙ctiveMQ
聽聽 ProducerTool [url] broker鐨勫湴鍧,榛樿鐨勬槸tcp://localhost:61616
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 [true|flase] 鏄惁浣跨敤topic,榛樿鏄痜alse
聽聽聽聽聽聽聽聽 [subject] subject鐨勫悕瀛?榛樿鏄疶OOL.DEFAULT
聽聽聽聽聽聽聽聽 [durabl] 鏄惁鎸佷箙鍖栨秷鎭?榛樿鏄痜alse
聽聽聽聽聽聽聽聽 [messagecount] 鍙戦佹秷鎭暟閲?榛樿鏄?0
聽聽聽聽聽聽聽聽 [messagesize] 娑堟伅闀垮害,榛樿鏄?55
聽聽聽聽聽聽聽聽 [clientID] durable涓簍rue鐨勬椂鍊?闇瑕侀厤緗甤lientID
聽聽聽聽聽聽聽聽 [timeToLive] 娑堟伅瀛樻椿鏃墮棿
聽聽聽聽聽聽聽聽 [sleepTime] 鍙戦佹秷鎭腑闂寸殑浼戠湢鏃墮棿
聽聽聽聽聽聽聽聽 [transacte]聽 鏄惁閲囩敤浜嬪姟
聽聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽 ConsumerTool [url] broker鐨勫湴鍧,榛樿鐨勬槸tcp://localhost:61616
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 [true|flase] 鏄惁浣跨敤topic,榛樿鏄痜alse
聽聽聽聽聽聽聽聽 [subject] subject鐨勫悕瀛?榛樿鏄疶OOL.DEFAULT
聽聽聽聽聽聽聽聽 [durabl] 鏄惁鎸佷箙鍖栨秷鎭?榛樿鏄痜alse
聽聽聽聽聽聽聽聽 [maxiumMessages] 鎺ュ彈鏈澶ф秷鎭暟閲?0琛ㄧず涓嶉檺鍒?br />聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽 [clientID] durable涓簍rue鐨勬椂鍊?闇瑕侀厤緗甤lientID
聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽 [transacte]聽 鏄惁閲囩敤浜嬪姟
聽聽聽聽聽聽聽聽 [sleepTime]聽 鎺ュ彈娑堟伅涓棿鐨勪紤鐪犳椂闂?榛樿鏄?,onMeesage鏂規硶涓嶄紤鐪?br />聽聽聽聽聽聽聽聽 [receiveTimeOut] 鎺ュ彈瓚呮椂
聽聽聽聽聽聽聽聽聽 鎴戜滑榪欐牱鍙互浣跨敤:
聽聽 java -classpath .\apache-activemq-4.1-incubator.jar;example\bin ProducerTool聽 tcp://192.168.3.142:61616 test.mysubject
聽聽 java -classpath .\apache-activemq-4.1-incubator.jar;example\bin ConsumerTool聽 tcp://192.168.3.142:61616 test.mysubject
聽聽 褰撶劧浣犲彲浠ヤ嬌鐢ㄤ笂闈㈢殑鍙傛暟榪涜鏇村鏉傜殑嫻嬭瘯,鎸佷箙,浜嬪姟
聽聽 濡傛灉鍑虹幇涓嬮潰鐨勪俊鎭?鎭枩浣?浣犵殑ActiveMQ宸茬粡鑳藉宸ヤ綔浜?br />聽聽聽聽聽聽聽聽
聽 Connecting to URL: tcp://192.168.3.142:61616
聽 Publishing a Message with size 255 to queue: TOOL.DEFAULT
聽 Using non-durable publishing
聽 Sleeping between publish 0 ms
聽 Sending message: Message: 0 sent at: Thu Feb 08 15:05:34 CST 2007聽 ...
聽 Sending message: Message: 1 sent at: Thu Feb 08 15:05:34 CST 2007聽 ...
聽聽聽聽聽聽聽聽 銆傘傘傘傘傘傘傘?/p>
聽 Connecting to URL: tcp://192.168.3.142:61616
聽 Consuming queue: test.mysubject
聽聽聽聽聽聽聽聽 Using non-durable subscription
聽聽聽聽聽聽聽聽 Received: Message: 0 sent at: Thu Feb 08 14:51:34 CST 2007聽 ...
聽聽聽聽聽聽聽聽 Received: Message: 1 sent at: Thu Feb 08 14:51:34 CST 2007聽 ...
聽 銆傘傘傘?/p>
聽聽聽聽聽聽聽聽 涓?灝忕粨
聽聽聽聽聽
聽聽聽聽聽 鎴戜滑宸茬粡涓嬭澆,鍚姩,騫朵笖鐢ㄧ▼搴忔祴璇曚簡鎴戜滑鐨凙ctiveMQ,鑰屽悗闈㈠皢鍦ㄨ繖涓兘璺戝緱ActiveMQ榪涗竴姝ョ殑璧頒笅鍘?涓姝ヤ竴姝ュ睍紺篈ctiveMQ鐨勯珮綰х壒鎬с?/p>
聽聽聽聽 ActiveMQ 鏄竴涓畬鍏ㄦ敮鎸丣MS1.1鍜孞2EE 1.4瑙勮寖鐨?JMS Provider瀹炵幇,灝界JMS瑙勮寖鍑哄彴
宸茬粡鏄緢涔呯殑浜嬫儏浜?浣嗘槸JMS鍦ㄥ綋浠婄殑J2EE搴旂敤涓棿浠嶇劧鎵紨鐫鐗規畩鐨勫湴浣嶃?br />聽聽聽 涓嬮潰鏄畠鐨勭壒鎬у垪琛?(璇︾粏鐨勭壒鎬ф竻鍗曡鍙傝?a >http://activemq.apache.org/features.html)
聽聽 聽1.澶氱璇█鍜屽崗璁紪鍐欏鎴風
聽聽 聽聽璇█: Java, C, C++, C#, Ruby, Perl, Python, PHP
聽聽聽聽聽 聽聽搴旂敤鍗忚: OpenWire,Stomp REST,WS Notification,XMPP,AMQP
聽聽 聽2.瀹屽叏鏀寔JMS1.1鍜孞2EE 1.4瑙勮寖聽 (鎸佷箙鍖?XA娑堟伅,浜嬪姟)
聽聽 聽3.瀵筍pring鐨勬敮鎸?ActiveMQ鍙互寰堝寰楀唴宓屽埌浣跨敤Spring鐨勭郴緇熼噷闈㈠幓,鑰屼笖涔熸敮鎸丼pring2.0鐨勭壒鎬?br />聽聽聽聽聽聽 4.閫氳繃浜嗗父瑙丣2EE鏈嶅姟鍣?濡?Geronimo,JBoss 4, GlassFish,WebLogic)鐨勬祴璇?鍏朵腑閫氳繃JCA 1.5 resource adaptors鐨勯厤緗?
聽聽聽聽聽 鍙互璁〢ctiveMQ鍙互鑷姩鐨勯儴緗插埌浠諱綍鍏煎J2EE 1.4 鍟嗕笟鏈嶅姟鍣ㄤ笂
聽聽聽聽聽聽 5.鏀寔澶氱浼犻佸崗璁?in-VM,TCP,SSL,NIO,UDP,JGroups,JXTA
聽聽聽聽聽聽 6.鏀寔閫氳繃JDBC鍜宩ournal鎻愪緵楂橀熺殑娑堟伅鎸佷箙鍖?br />聽聽聽聽聽聽 7.浠庤璁′笂淇濊瘉浜嗛珮鎬ц兘鐨勯泦緹?瀹㈡埛绔?鏈嶅姟鍣?鐐瑰鐐?br />聽聽聽聽聽聽 8.鏀寔Ajax
聽聽聽聽聽聽 9.鏀寔涓嶢xis鐨勬暣鍚?br />聽聽聽聽聽聽 10.鍙互寰堝鏄撳緱璋冪敤鍐呭祵JMS provider,榪涜嫻嬭瘯
聽聽聽聽聽聽
聽聽聽聽 浜?ActiveMQ鐨勭珵浜夎吢犅犅?
聽聽聽聽聽聽聽
聽聽聽聽聽聽聽 1.鍏朵粬寮婧?JMS provider(璧勬枡鏉ヨ嚜 java-source.net) :
聽聽聽聽聽聽聽 jbossmq(jboss 4)
聽聽聽聽聽聽聽 jboss messaging (jboss 5)
聽聽聽聽聽聽聽 joram-4.3.21聽 2006-09-22
聽聽聽聽聽聽聽 openjms-0.7.7-alpha-3.zip December 26, 2005
聽聽聽聽聽聽聽 mantamq 瀹樼綉鏆傛椂鏃犳硶璁塊棶
聽聽聽聽聽聽聽 ubermq聽 瀹樼綉鏆傛椂鏃犳硶璁塊棶
聽聽聽聽聽聽聽 SomnifugiJMS聽 2005-7-27
聽聽聽聽聽聽聽聽聽聽 寮婧愮殑JMS Provider澶ч儴鍒嗛兘宸茬粡鍋滄鍙戝睍浜?鍓╀笅鐨勫嚑涓兘鏄壘鍒頒簡涓滃,鍜屾煇縐岼2EE 鏈嶅姟鍣ㄦ寕閽?
聽聽聽聽聽聽聽 姣斿jboss mq 涓巎boss,joram涓巎onas(objectweb緇勭粐),ActiveMQ 涓嶨eronimo(ASF APACHE鍩洪噾緇勭粐),
聽聽聽聽聽聽聽 鑰屽湪榪?涓箣闂達紝浠庣綉緇滃簳灞傛潵鐪?鍙湁ActiveMQ浣跨敤浜哊IO,鍗曚粠榪欎釜瑙掑害鏉ョ湅ActiveMQ鍦ㄦц兘涓婁細鏈?br />聽聽聽聽聽聽聽 涓瀹氱殑浼樺娍聽聽聽聽聽聽
聽聽聽聽聽聽聽 2.鍟嗕笟JMS provider
聽聽聽聽聽聽聽 IBM WebSphere MQ
聽聽聽聽聽聽聽 BEA WebLogic JMS
聽聽聽聽聽聽聽 Oracle AQ
聽聽聽聽聽聽聽 NonStop Server for Java Message Service(JMS)
聽聽聽聽聽聽聽 Sun Java System Message Queue
聽聽聽聽聽聽聽 Sonic jms
聽聽聽聽聽聽聽 TIBCO Enterprise For JMS
聽聽聽聽聽聽聽 iLinkMQ (鍥藉唴)
聽聽聽聽聽聽聽聽聽聽 鐜板湪鐨勫晢涓欽2EE 搴旂敤鏈嶅姟鍣ㄥぇ閮ㄥ垎閮戒細鏈塉MS Provider鐨勫疄鐜?姣曠珶搴旂敤鏈嶅姟鍣ㄩ兘宸茬粡鑺辮垂涓嶈杽,涔熶笉鍦ㄤ箮
聽聽聽聽聽聽聽 鍦ㄩ噷闈㈤佷竴涓狫MS Provider浜?褰撶劧榪樻槸鏈夌嫭绔嬬殑姣斿IBM WebSphere MQ,Sonic JMS ,鍓嶈呰偗瀹氭槸鍟嗙敤MQ
聽聽聽聽聽聽 錛堣繖涓蹇典笉浠呬粎鏄疛MS Provier浜嗭紝鍙兘璇碕MS 鍙槸瀹冩彁渚涚殑涓涓簲鐢級涓棿鐨勫法鏃犻湼浜嗐?br />聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽 浠庤繖鐐規潵鐪?ActiveMQ鏄庢樉鐨勭珵浜夎呭茍涓嶅,鍥犱負瀹冩槸浣滀負鐙珛鐨勫紑婧怞MS Provider鍑虹幇鐨?寰堝鏄撹鐢ㄤ簬澶氱緇撴瀯璁捐涓紝
聽聽聽聽聽聽聽 浣跨敤ActiveMQ浣滀負榛樿JMS Provider鐨勫紑婧愰」鐩湁ServiceMix,Geronimo.
聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 (寰呯畫)
聽聽聽聽聽聽聽 P.S
聽聽聽聽聽聽聽聽聽聽聽 Monday, February 5, 2007
聽聽聽聽聽 Apache ActiveMQ graduates from the incubator聽
聽聽聽聽聽 Apache ActiveMQ has now graduated to become a top level project (TLP) at Apache! Its new site is now hosted at http://activemq.apache.org/. Many thanks to all those in the Incubator and ActiveMQ communities for making this happen!
RewriteLog "logs/rewrite.log"
RewriteLogLevel 3
鍏抽敭瀛楁:
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 RewriteCond 琛ㄧず濡傛灉鏉′歡婊¤凍鍒欎嬌鐢ㄤ笅闈㈢殑Rewriterule
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 Rewriterule 灝辨槸閲囩敤鍏蜂綋鐨勬鍒欒〃杈懼紡鏉ュ尮閰嵚?br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 Rewriterule 鍚庨潰榪樺彲浠ュ甫鏈夊弬鏁?br />
聽聽聽聽聽聽聽聽聽聽聽聽 瑙乤pache鍙傝?br />聽聽聽聽聽聽聽聽聽聽 http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html
聽聽聽聽聽聽聽聽聽
chain|C
' (chained with next rule).www
'' part, inside a per-directory rule set, when you let an external redirect happen (where the ``.www
'' part should not occur!).
cookie|CO=
NAME:VAL:domain[:lifetime[:path]]' (set cookie)env|E=
VAR:VAL' (set environment variable)$N
and %N
) which will be expanded. You can use this flag more than once, to set more than one variable. The variables can later be dereferenced in many situations, most commonly from within XSSI (via <!--#echo var="VAR"-->
) or CGI ($ENV{'VAR'}
). You can also dereference the variable in a later RewriteCond pattern, using %{ENV:VAR}
. Use this to strip information from URLs, while maintaining a record of that information.
forbidden|F
' (force URL to be forbidden)gone|G
' (force URL to be gone)handler|H
=Content-handler' (force Content handler)mod_alias
directive ScriptAlias
, which internally forces all files inside the mapped directory to have a handler of ``cgi-script
''.
last|L
' (last rule)last
command or the break
command in C. Use this flag to prevent the currently rewritten URL from being rewritten further by following rules. For example, use it to rewrite the root-path URL ('/
') to a real one, e.g., '/e/www/
'.
next|N
' (next round)next
command or the continue
command in C. Use this flag to restart the rewriting process - to immediately go to the top of the loop.nocase|NC
' (no case)noescape|NE
' (no URI escaping of output)RewriteRule /foo/(.*) /bar?arg=P1\%3d$1 [R,NE]
/foo/zed
' into a safe request for '/bar?arg=P1=zed
'.
nosubreq|NS
' (not for internal sub-requests)mod_include
tries to find out information about possible directory default files (index.xxx
files). On sub-requests it is not always useful, and can even cause errors, if the complete set of rules are applied. Use this flag to exclude some rules.proxy|P
' (force proxy)http://
hostname) which can be handled by the Apache proxy module. If not, you will get an error from the proxy module. Use this flag to achieve a more powerful implementation of the ProxyPass directive, to map remote content into the namespace of the local server.
Note: mod_proxy
must be enabled in order to use this flag.
passthrough|PT
' (pass through to next handler)uri
field of the internal request_rec
structure to the value of the filename
field. This flag is just a hack to enable post-processing of the output of RewriteRule
directives, using Alias
, ScriptAlias
, Redirect
, and other directives from various URI-to-filename translators. For example, to rewrite /abc
to /def
using mod_rewrite
, and then /def
to /ghi
using mod_alias
:
RewriteRule ^/abc(.*) /def$1 [PT]
Alias /def /ghi
PT
flag, mod_rewrite
will rewrite uri=/abc/...
to filename=/def/...
as a full API-compliant URI-to-filename translator should do. Then mod_alias
will try to do a URI-to-filename transition, which will fail.
Note: You must use this flag if you want to mix directives from different modules which allow URL-to-filename translators. The typical example is the use of mod_alias
and mod_rewrite
.
qsappend|QSA
' (query string append)redirect|R
[=code]' (force redirect)http://thishost[:thisport]/
(which makes the new URL a URI) to force a external redirection. If no code is given, a HTTP response of 302 (MOVED TEMPORARILY) will be returned. If you want to use other response codes in the range 300-400, simply specify the appropriate number or use one of the following symbolic names: temp
(default), permanent
, seeother
. Use this for rules to canonicalize the URL and return it to the client - to translate ``/~
'' into ``/u/
'', or to always append a slash to /u/
user, etc.http://thishost[:thisport]/
to the URL, and rewriting will continue. Usually, you will want to stop rewriting at this point, and redirect immediately. To stop rewriting, you should add the 'L' flag.
skip|S
=num' (skip next rule(s))skip=N
, where N is the number of rules in the else-clause. (This is not the same as the 'chain|C' flag!)
type|T
=MIME-type' (force MIME type).php
files to be displayed by mod_php
if they are called with the .phps
extension:
RewriteRule ^(.+\.php)s$ $1 [T=application/x-httpd-php-source]
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
浼氬湪next,鎴栬卹emove鐨勬椂鍊欐鏌ュ綋鍓嶉泦鍚堟槸鍚︿細鍦ㄤ慨鏀圭姸鎬?濡傛灉鏄殑璇?br />灝變細鎶涘嚭 ConcurrentModificationException,鑰屼粬鑷繁remove鍒欐槸浣跨敤浜嗗悓姝ョ殑鏂規硶
鑰屼笖鍚屾浜唌odCount;expectedModCount;
聽public T next() {
聽聽聽聽 if (modCount != expectedModCount)
聽聽throw new ConcurrentModificationException();
聽聽聽聽 return nextElement();
聽}
public void remove() {
聽聽聽聽 if (!iterator)
聽聽throw new UnsupportedOperationException();
聽聽聽聽 if (lastReturned == null)
聽聽throw new IllegalStateException("Hashtable Enumerator");
聽聽聽聽 if (modCount != expectedModCount)
聽聽throw new ConcurrentModificationException();
聽聽聽聽 synchronized(Hashtable.this) {
聽聽Entry[] tab = Hashtable.this.table;
聽聽int index = (lastReturned.hash & 0x7FFFFFFF) % tab.length;
聽聽for (Entry<K,V> e = tab[index], prev = null; e != null;
聽聽聽聽聽聽 prev = e, e = e.next) {
聽聽聽聽聽 if (e == lastReturned) {
聽聽聽modCount++;
聽聽聽expectedModCount++;
聽聽聽if (prev == null)
聽聽聽聽聽聽 tab[index] = e.next;
聽聽聽else
聽聽聽聽聽聽 prev.next = e.next;
聽聽聽count--;
聽聽聽lastReturned = null;
聽聽聽return;
聽聽聽聽聽 }
聽聽}
聽聽throw new ConcurrentModificationException();
聽聽聽聽 }
聽}
聽聽聽 }
鑰岃嚜宸卞湪next鐨勫悓鏃?淇敼浜嗚繖涓泦鍚?瀵艱嚧浜嗚繖涓敊璇殑鍑虹幇
If you are using the XSD-style for Spring 2.0 XML configuration and deploying to v.3 of Caucho's Resin application server, you will need to set some configuration options prior to startup so that an XSD-aware parser is available to Spring.
Please do read this resource
鑰宺esin緇欏嚭鏉ョ殑鍙傝冨氨鏄粬榛樿涓嶆槸浣跨敤xerces鍜寈alan浣滀負xml鍜寈slt鐨勯粯璁よВ鏋愬櫒
姝f槸鐢變簬浠栭粯璁や笉鏄噰鐢ㄤ互涓婁綔涓簒ml,xstl鐨勮В鏋愬櫒,瀵艱嚧浜嗗湪resin涓嬮潰 浣跨敤spring 2.0 鏂皒sd閰嶇疆鏂瑰紡浼氭姤閿欒
(涓昏灝辨槸xml涓殑attribute鍜宲ropertie 浠栧彇涓嶅埌)
瑙e喅鐨勬柟娉曞氨鏄resin浣跨敤xerces鍜寈alan浣滀負xml鍜寈slt鐨勯粯璁よВ鏋愬櫒
閰嶇疆錛?/p>
鍦╮esin.conf鐨?lt;web-app>鎴栬?lt;server>鑺傜偣涓嬫坊鍔?/p>
<!-- xml -->
<system-property javax.xml.parsers.DocumentBuilderFactory=
聽聽聽聽聽聽聽聽聽聽聽聽 "org.apache.xerces.jaxp.DocumentBuilderFactoryImpl"/>
<system-property javax.xml.parsers.SAXParserFactory=
聽聽聽聽聽聽聽聽聽聽聽聽 "org.apache.xerces.jaxp.SAXParserFactoryImpl"/>
聽聽
聽聽聽 <!--聽 xslt -->
<system-property javax.xml.transform.TransformerFactory=
聽聽聽聽聽聽聽聽聽聽聽聽 "org.apache.xalan.processor.TransformerFactoryImpl"/>
鐒跺悗鎶婄浉搴旂殑jar鍔犲叆%RESIN_HOME%/lib 鐩綍,榪欓噷闇瑕佽鏄庣殑鏄垜鍦ㄦ祴璇昦ctivemq鐨勬椂鍊?/p>
鍔犲叆xerces鍜寈alan鍚?浠栧寘鍏朵粬class鏃犳硶鎵懼埌,鎰熻濂藉儚鏄粯璁ょ殑web-app鐩綍涓嬬殑jar鏃犳晥浜?鎴戞殏鏃剁洿鎺ュ姞鍏ョ郴緇焎lasspath瑙e喅鐨?/p>
榪欑偣涓嶇煡閬撴槸涓嶆槸鎴戣嚜宸辯殑騫沖彴闂銆?/p>
緇忚繃嫻嬭瘯 resin 3.0.22+spring 2.0+activemq xsd閰嶇疆鏂瑰紡ok浜?
ps. ^.^銆浠ュ墠鐨剅esin涓嬮潰欏圭洰娌℃湁鐢?.0閰嶇疆,鑷繁涔熷涔犲埌浜嗘柊涓滆タ
google鍒扮殑鍏朵粬浜哄悓鏍風殑闂鎻忚堪
http://www.mail-archive.com/user@struts.apache.org/msg51847.html
鎴戣嚜宸辯殑閰嶇疆
struts-config-action.xml涓厤緗?br />
榪愯鎵鏈夎窡榪欎釜form鏈夊叧鐨勯〉闈㈤兘浼氬嚭鐜?
[ValidatorResources]2006-12-10 00:07:23 WARN : Form 'dynamicForm' not found for locale 'zh_CN'
鎴戝嵆浣垮湪messageResource_zh_CN.properties娣誨姞浜嗗搴旂殑key/name涔熶笉琛?
瑙e喅鏂規硶,鍙傝冨叾浠栧笘瀛?鎴戦鍏堝崌綰trut 鍒?.3.x,commons-validator涔熷崌綰у埌1.3.0
鐒跺悗
鍦╲alidation-user.xml 娣誨姞涓涓猣orm灝辮浜?br />
涓嶅啀鏈夎繖涓?font color="#ff0033">WARN 浜嗐?/font>聽
FAQ:
聽聽聽聽 Error:聽 Expected fromat '3' of repository;found format '5'
聽聽聽聽聽聽聽聽聽聽聽聽 use "--pre-1.4-compatible", default format is "5" !!
聽聽聽聽聽聽聽聽聽聽聽
Integrate Guide:
聽聽聽聽聽聽聽聽聽聽聽 I聽 use other complie svn module for apache 2.2.3 ,
聽聽聽聽 Step1:
聽聽聽聽聽聽聽聽聽聽聽聽 copy *.dll to聽 %APACHE_HOME%\bin
聽聽聽聽聽聽聽聽聽聽聽聽 copy *.so聽 to聽 %APACHE_HOME%\modules
聽聽聽聽 Step2:
聽聽聽聽聽聽聽聽聽聽聽聽 edit %APACHE_HOME%\conf\httpd.conf
聽聽聽聽聽聽聽聽聽聽聽聽 find:
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 #LoadModule dav_module聽 modules\mod_dav.so
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 #LoadModule dav_fs_module modules\mod_dav_fs.so
聽聽聽聽聽聽聽聽聽聽聽聽 change: "#" to ""
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 LoadModule dav_module聽 modules\mod_dav.so
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 LoadModule dav_fs_module modules\mod_dav_fs.so
聽聽聽聽聽聽聽聽聽聽聽聽 and add SVN Module:
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 #SVN
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 LoadModule dav_svn_module聽聽 modules\mod_dav_svn.so
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 LoadModule authz_svn_module聽 modules\mod_authz_svn.so
聽聽聽聽聽 Step3:聽
聽聽聽聽聽聽聽聽聽聽聽聽聽 config聽 SVN auth,add httpd.conf
聽聽聽聽聽聽聽聽聽聽聽聽聽 use apache basic auth,gen password file
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 %APACHE_HOME%\bin\htpasswd -cm D:/server/webservice/clear/Apache2.2/svn-auth/svn-auth-file harry
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <IfModule dav_svn_module>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <Location /svn>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 DAV svn
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 SVNParentPath D:/SubversionRoot
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 AuthTypeBasic
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 AuthName "Subversion Repository"
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 AuthUserFile D:/server/webservice/clear/Apache2.2/svn-auth/svn-auth-file
聽聽聽聽聽聽 Require valid-user
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 </Location>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 </IfModule>
聽聽聽聽聽聽聽
涓昏灝辨槸svn瀹樻柟鐨剋in binary涓嶆敮鎸乤pache 2.2鐨勬柊module璋冪敤銆?br />聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
聽
涔熷氨鏄湪IBatis閲岄潰閰嶇疆涓涓猻tatment,鍘繪墽琛屽涓煡璇?鍏呭垎鍒╃敤浜唌ap鏄犲皠鐨勭壒鎬?
鍘繪墽琛屽涓煡璇€?/p>
姣斿
select * from myexample
select * from mywork
浣跨敤"*" 鑰屼笖娌℃湁鐢╮esultClass 鎸囧畾榪斿洖
浣嗘槸鍦ㄩ粯璁ら厤緗笅,鍦ㄤ嬌鐢ㄧ殑鏃跺欑殑鏃跺?br />
2嬈′互涓婁紶鍏ヤ笉鍚岀殑$dbName$,$tabeName$ 璋冪敤榪欎釜useAutoResultMapExample,
灝辮鎶ava.sql.SQLException: Invalid column name閿欒
鍥犱負iBatis鑷繁鏈?AutoResultMap鐨刢ache,灝界浣犱紶鍏ョ殑$tableName$涓嶅悓錛屼絾鏄粬鎬繪槸
鐢ㄧ涓涓緩绔嬬殑AutoResultMap鐨刢ache鍘誨尮閰嶄互鍚庣殑$tableName$褰撶劧鏈夐敊璇簡
瑙e喅鏂規硶: 浣跨敤澶氫釜statment鎴栬呬嬌鐢?remapResults="true" (涓轟簡鏁堢巼浠栭粯璁ょ殑鏄痜alse)
浠ヤ笂鐢變簬鏁堢巼闂,寤鴻榪樻槸閲囩敤澶氫釜statement 鏄犲皠鍒頒笉鍚岀殑model涓婇潰鍘?涓嶅緩璁敓浜х郴緇熶篃榪欎箞浣跨敤銆?/font>