Author: ritchiem
Date: Fri Apr 20 08:00:06 2007
New Revision: 530832
URL: http://svn.apache.org/viewvc?view=rev&rev=530832
Log:
Merged revisions
1-447993,447995-448007,448009-448141,448143-448157,448161-448194,448196-448210,448212-448218,448220-448223,448225-448233,448235,448237-448241,448243-448596,448598-448623,448625-448850,448852-448880,448882-448982,448984-449635,449637-449639,449641-449642,449644-449645,449647-449674,449676-449719,449721-449749,449751-449762,449764-449933,449935-449941,449943-450383,450385,450387-450400,450402-450433,450435-450503,450505-450555,450557-450860,450862-451024,451026-451149,451151-451316,451318-451931,451933-452139,452141-452162,452164-452320,452322,452324-452325,452327-452333,452335-452429,452431-452528,452530-452545,452547-453192,453194-453195,453197-453536,453538,453540-453656,453658-454676,454678-454735,454737,454739-454781,454783-462728,462730-462819,462821-462833,462835-462839,462841-463071,463073-463178,463180-463308,463310-463362,463364-463375,463377-463396,463398-463402,463404-463409,463411-463661,463663-463670,463672-463673,463675-464493,464495-464502,46450
4-464576,464578-464613,464615-464628,464630,464632-464866,464868-464899,464901-464942,464944-464949,464951-465004,465006-465016,465018-465053,465055-465165,465167-465321,465323-465406,465408-465427,465429-465431,465433-465548,465550-466044,466047-466075,466077,466079-466081,466083-466099,466101-466112,466114-466126,466128-466240,466242-466971,466973-466978,466980-467309,467311-467312,467316-467328,467330-467485,467487-467588,467590-467604,467606-467699,467701-467706,467708-467749,467751-468069,468071-468537,468539-469241,469244-469246,469248-469318,469320-469421,469423,469425-469429,469431-469435,469437-469462,469464-469469,469472-469477,469479-469490,469492-469503,469505-469529,469531-469598,469600-469624,469626-469737,469739-469752,469754-469806,469808-469928,469930-469953,469955-470011,470013-470109,470111-470335,470338-470339,470341-470379,470381,470383-470399,470401-470446,470448-470741,470743-470758,470760-470809,470811-470817,470819-470993,470995-471001,471003-471788,
471790-471792,471794-472028,472030-472032,472034-472036,472038,472040,472043,472045-472059,472061,472063,472065-472066,472068,472070-472072,472074-472080,472082,472084-472092,472094-472107,472109-472123,472125-472158,472160-472165,472167-472172,472174-472457,472459-472460,472462-472464,472466-472470,472472-472483,472486-472491,472493-472494,472496-472497,472499,472501-472503,472505-472512,472514-472544,472546-472556,472558-472560,472562-472572,472574-472587,472589-472591,472593-472605,472607,472609-472731,472733-472786,472788-472843,472845-472849,472851-472859,472861-472878,472880-472903,472905,472907-472988,472990-472991,472993-473071,473073-473086,473088-473090,473093,473095-473096,473098-473106,473108-473110,473112-473185,473187-473260,473262,473268-473270,473275-473279,473281,473284-473287,473289-473295,473297-473306,473308-473330,473332-473335,473337,473339-473344,473346-473351,473353-473355,473357-473358,473361-473471,473473-473497,473499-473535,473537-473567,473569-47
3888,473890-474451,474454-474492,474494-474563,474565-474843,474845-474865,474867-474932,474934-475035,475037-475144,475146-475180,475182-475265,475267-475285,475287,475289-475293,475295-475296,475298-475302,475304-475631,475633-475649,475651-475748,475750-475752,475754-476107,476109-476302,476304-476413,476415-476430,476432-476700,476702-476868,476870-477147,477149-477213,477215-477263,477265-477340,477342-477635,477637-477789,477791-477825,477827-477841,477843,477846-477852,477854,477856,477858-477865,477867-477894,477896-478022,478024-478182,478184-478211,478213-478233,478235-478236,478238-478241,478243-478252,478254-478259,478261-478263,478265,478267-478269,478271-478286,478288-478342,478344-478379,478381-478412,478414-478443,478445-478636,478639-478658,478660-478821,478823-478853,478855-478922,478924-478962,478965-478974,478976-479029,479031-479049,479051-479210,479212-479214,479216-479407,479409-479415,479417-479425,479427-479559,479561-479639,479641-479676,479678-4796
85,479687-480030,480033-480086,480091-480093,480095-480118,480120-480139,480141,480143-480148,480150-480156,480158-480163,480165-480177,480179-480189,480191-480193,480195-480198,480200-480220,480222-480282,480284-480292,480294-480308,480310-480317,480320-480422,480424,480426-480581,480583-480656,480658-480692,480695-480702,480704,480706-480710,480712-480910,480913-480933,480935-480945,480947-480972,480974-480993,480995-481034,481036-481158,481161-481174,481176-481220,481222-481234,481236-481260,481263-481264,481266-481296,481298-481304,481306-481311,481313-481332,481334,481336-481380,481382-481441,481443-482144,482146-482180,482182-482193,482195-482232,482234-482236,482239,482241-482242,482244-482247,482250-482251,482253,482256-482261,482264-482288,482290-482364,482366,482368,482370-482554,482556,482558-482569,482572-482636,482638,482640-482696,482698-482722,482724-482732,482734-482771,482774-482957,482959-483045,483047-483105,483108,483110-483115,483117,483119-483127,483130
-483134,483136-483148,483150-483158,483160-483164,483166-483178,483180-483391,483393-483400,483402-483403,483405-483418,483420-483421,483425-483436,483438-483470,483472-483502,483504-483558,483560-483599,483601-483637,483639-483644,483646-483659,483661-483670,483672-483878,483880-483910,483912-483915,483917-483940,483942,483944-483968,483970-483972,483974-483976,483978,483980-484612,484614-484657,484659-484693,484695-484718,484720-484842,484844-484847,484849-484986,484988-485019,485021-485489,485491-485544,485546-485591,485593,485595-485697,485699-485729,485731-485734,485736-485779,485781-485787,485789-485851,485853,485855-486007,486009,486011-486020,486022-486083,486085-486097,486099-486117,486120-486131,486133-486148,486150-486161,486163-486164,486166-486197,486199-486205,486208-486247,486249-486253,486256-486427,486429-486431,486433-486554,486556-486573,486575-486593,486595,486597-486609,486611-486619,486622,486625,486627-486641,486643-486645,486649-486687,486689-486721,4
86723-486730,486732-486746,486748-486759,486761,486763-486777,486779-486782,486784-486788,486790,486792,486794-486796,486798-487175,487178,487180-487213,487215,487217-487267,487269-487284,487286-487298,487300-487358,487360-487367,487369-487382,487384-487434,487436-487480,487482-487547,487549-487561,487563-487565,487567-487578,487580-487615,487617-487622,487624,487626,487628,487630-487635,487637-487703,487705-487777,487780-487781,487783-487800,487802-487803,487805-487820,487822-487848,487850-487902,487904-488103,488105-488133,488135-488158,488160-488163,488165-488187,488189-488216,488218-488248,488250-488278,488280,488282-488303,488305-488313,488315-488342,488344-488351,488353-488376,488378-488449,488451-488593,488595,488597-488623,488625-488700,488702-488704,488706-488710,488714,488716-488725,488727-488744,488746-488770,488772-488798,488800,488802-488807,488809,488811-488829,488831-488843,488845-488851,488853-489069,489071-489077,489079-489081,489084-489102,489104-489105,489
107-489109,489111-489112,489114-489139,489141-489178,489181-489203,489205-489211,489213,489216-489329,489332-489402,489404-489417,489419-489421,489423-489643,489645-489690,489692-489703,489705-489714,489716-489747,489749-489753,489755-489803,489805-489904,489906-490372,490374-490504,490506-490604,490606-490707,490710-490733,490735-490871,490873-490984,490986-491028,491030,491032-491071,491073-491119,491121-491576,491578-491672,491674-491800,491802-491838,491840-491878,491880-492183,492185-492279,492281-492317,492319-492513,492515-492584,492586-492587,492589-492601,492603-492635,492637-492640,492642-492717,492719-492723,492725-492729,492731-492755,492757-492901,492903-492955,492957-492962,492964-492997,492999-493002,493004-493041,493043-493059,493062-493063,493065-493086,493088-493125,493127-493139,493141-493150,493152-493871,493873-494017,494019-494030,494032-494041,494043-494091,494093-494120,494122-494354,494356-494436,494438-494539,494541-494552,494554-494586,494588-49464
9,494651,494653-494654,494656-494657,494659-494764,494766-494768,494770-494796,494798-494799,494802,494804-494860,494862-494903,494905-494906,494908-495019,495021-495160,495162-495168,495171-495188,495190-495229,495231-495254,495256-495303,495305-495313,495315-495336,495338-495372,495374-495379,495381-495454,495457-495459,495462-495516,495518-495524,495526-495531,495533-495548,495551-495553,495555,495557-495558,495560,495562-495573,495575-495583,495585-495594,495596-495628,495630-495638,495640-495651,495653-495660,495662-495753,495755-496259,496261-496262,496264-496269,496271-496275,496277-496301,496303-496316,496318-496383,496385-496413,496415-496495,496497-496625,496627-496636,496638-496640,496642-496647,496650-496657,496659-496660,496663-496664,496666-496677,496679-496681,496683-496730,496732-496750,496752,496754-496784,496786-496832,496834-496840,496842-496990,496992-496995,496997-497340,497343-497351,497353-497403,497405-497424,497426-497438,497440-497481,497483-497497,
497499-497765,497767-497769,497771-497775,497777-497778,497780,497782-497783,497785,497787-497812,497814-497871,497873-497877,497879-498573,498575-498588,498590,498592,498594-498636,498638-498669,498671-498686,498688-498689,498691-498719,498721-498964,498966-498969,498971-498973,498975-498982,498985-499035,499037-499040,499042,499044-499048,499050-499082,499084-499086,499088-499164,499167-499169,499171-499355,499357-499370,499372-499373,499375-499391,499393,499395-499425,499428,499430-499445,499447-499455,499457-499460,499462-499465,499467,499469-499489,499491-499492,499494-499531,499533-499562,499566-499627,499629-499715,499717-499732,499734-499755,499758-499763,499765-499780,499782-499795,499797-499802,499804-499844,499846,499848-499850,499852-499863,499865-499873,499875-499974,499976-499978,499980-500263,500265-500283,500285-500309,500311-501000,501002,501012-501057,501059-501095,501097-501390,501392-501410,501413-501447,501449-501454,501456,501458-501464,501466-501471,50
1473-501803,501805-501913,501915-501916,501918-501919,501921-501944,501946-502171,502173-502177,502181,502183-502247,502250-502252,502254-502260,502262-502267,502270,502272,502274-502575,502577-502609,502611-502619,502621-502626,502628-502654,502656-503592,503594-503603,503605-503608,503610-503636,503638-503645,503647-503705,503707-503789,503791-504024,504026-504111,504113-504506,504508-504735,504737-504863,504865-504867,504869-504914,504916-505241,505243-505254,505257-505267,505269-505354,505356-505891,505893-505971,505973-506400,506402-506404,506407-506438,506440-506516,506518-506541,506543-506966,506968-506971,506973-507095,507097-507108,507111-507454,507456,507459-507471,507473-507556,507558,507560-507581,507585-507594,507597,507599-507608,507610-507728,507730-507893,507895-507937,507940-508234,508236-508350,508352-508365,508367-508380,508383,508386-508415,508417-508648,508650-508941,508943-509146,509148-509171,509173-509175,509179-509201,509203-509207,509209-509215,5092
17-509222,509224-509477,509480-509627,509629-509634,509636-509641,509643-509736,509738-509931,509933-510059,510061-510075,510077-510158,510161-510896,510898-510938,510940-511388,511390-511922,511924-512287,512289-512698,512702-512813,512815-512817,512819-513359,513361-513370,513372-514702,514704-514886,514888-514902,514904-515126,515129-515141,515143-515516,515518-515534,515536-515538,515540-515648,515650-515651,515653-516070,516072-516411,516413-516448,516450,516452-517637,517639-517647,517649-517659,517661-517663,517665-517677,517679-517682,517684-517744,517746-518085,518087-518175,518177-518558,518560-518568,518571-518666,518668,518670-518699,518701-518987,518990-518992,518994-519908,519910-519932,519934-520414,520416-520842,520844-520937,520939-521362,521364-521681,521683-521704,521706-521709,521711-521714,521716-521781,521783-521792,521794-522462,522464-522527,522529-522534,522536-522566,522568-522958,522960,522962-522966,522968-522976,522978-522980,522982-522988,522992
-522993,522995-523244,523246-523746,523748-524049,524051-524738,524741-524742,524744-524762,524764,524766,524768-525486,525488-525530,525532,525534,525537-525552,525554-525765,525767-525776,525778-525784,525789-525803,525805-525816,525818-525828,525830-525861,525863-525866,525868-526090,526092-526112,526114-526116,526119-526121,526123-526149,526151-526153,526155-526156,526160-526165,526167-526186,526188-526193,526196-526197,526200-526665,526667-526682,526686-526690,526693,526695-526708,526710-526713,526715-526775,526777-526802,526804-526806,526808-527048,527051-527052,527054-527181,527183-527486,527488-527492,527494-527498,527500-527508,527510-527517,527519-527536,527538-527555,527559-527802,527804-527842,527844-527847,527849-527875,527877-527940,527942-527958,527960-527971,527973-528002,528004,528006-528423,528425-529232,529234-529245,529247-529296,529298-529634,529636-529658,529660-529665,529667-529668,529670-530033,530035-530036,530038-530040,530045-530046,530050-530051,5
30053-530431,530433-530436,530439-530440,530443,530445-530446,530448,530450-530682,530684,530687-530696,530698-530733,530735-530776,530778-530830
via svnmerge from
https://svn.apache.org/repos/asf/incubator/qpid/branches/M2
........
r530796 | ritchiem | 2007-04-20 14:23:17 +0100 (Fri, 20 Apr 2007) | 1 line
QPID-468 Add Broker verison number to Listen print line in Main.java:367
........
r530797 | ritchiem | 2007-04-20 14:24:43 +0100 (Fri, 20 Apr 2007) | 1 line
Updated PrincipalDatabase verifyPassword to match rest of API and take a
char[]
........
r530798 | ritchiem | 2007-04-20 14:25:50 +0100 (Fri, 20 Apr 2007) | 3 lines
QPID-445 Added checks to ensure UserManagement MBean is only accessed by
Admin users.
Allow Qpid JMX Management console to manage access file.
........
r530800 | ritchiem | 2007-04-20 14:27:22 +0100 (Fri, 20 Apr 2007) | 1 line
White space changes plus additional logging to aid in debugging
........
r530812 | ritchiem | 2007-04-20 14:59:27 +0100 (Fri, 20 Apr 2007) | 2 lines
QPID-471 User list not populated.
This was due to the fact that the 'View User' has been marked as an ACTION.
Changing to an INFO made the console work just fine.
........
r530819 | ritchiem | 2007-04-20 15:08:13 +0100 (Fri, 20 Apr 2007) | 1 line
QPID-468 Update to log4j.xml to ensure the new logger is at least at the info
level.
........
Modified:
incubator/qpid/trunk/qpid/ (props changed)
incubator/qpid/trunk/qpid/java/broker/etc/log4j.xml
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/Main.java
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management/JMXManagedObjectRegistry.java
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management/MBeanInvocationHandlerImpl.java
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management/ManagedObjectRegistry.java
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/access/AMQUserManagementMBean.java
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/access/UserManagement.java
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/Base64MD5PasswordFilePrincipalDatabase.java
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/PlainPasswordFilePrincipalDatabase.java
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/PrincipalDatabase.java
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/PropertiesPrincipalDatabase.java
incubator/qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueAlertTest.java
Propchange: incubator/qpid/trunk/qpid/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.
Modified: incubator/qpid/trunk/qpid/java/broker/etc/log4j.xml
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/broker/etc/log4j.xml?view=diff&rev=530832&r1=530831&r2=530832
==============================================================================
--- incubator/qpid/trunk/qpid/java/broker/etc/log4j.xml (original)
+++ incubator/qpid/trunk/qpid/java/broker/etc/log4j.xml Fri Apr 20 08:00:06 2007
@@ -64,6 +64,10 @@
</layout>
</appender>
+ <category name="Qpid.Broker">
+ <priority value="info"/>
+ </category>
+
<!--<category name="org.apache.qpid.server.store">
<priority value="debug"/>
</category-->
Modified:
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/Main.java
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/Main.java?view=diff&rev=530832&r1=530831&r2=530832
==============================================================================
---
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/Main.java
(original)
+++
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/Main.java
Fri Apr 20 08:00:06 2007
@@ -48,6 +48,7 @@
import org.apache.mina.transport.socket.nio.SocketSessionConfig;
import org.apache.qpid.AMQException;
+import org.apache.qpid.common.QpidProperties;
import org.apache.qpid.framing.ProtocolVersion;
import org.apache.qpid.pool.ReadWriteThreadModel;
import org.apache.qpid.server.configuration.VirtualHostConfiguration;
@@ -66,6 +67,7 @@
public class Main
{
private static final Logger _logger = Logger.getLogger(Main.class);
+ public static final Logger _brokerLogger = Logger.getLogger("Qpid.Broker");
private static final String DEFAULT_CONFIG_FILE = "etc/config.xml";
@@ -118,25 +120,25 @@
Option help = new Option("h", "help", false, "print this message");
Option version = new Option("v", "version", false, "print the version
information and exit");
Option configFile =
- OptionBuilder.withArgName("file").hasArg().withDescription("use
given configuration file").withLongOpt("config")
- .create("c");
+
OptionBuilder.withArgName("file").hasArg().withDescription("use given
configuration file").withLongOpt("config")
+ .create("c");
Option port =
- OptionBuilder.withArgName("port").hasArg()
- .withDescription("listen on the specified port.
Overrides any value in the config file")
- .withLongOpt("port").create("p");
+ OptionBuilder.withArgName("port").hasArg()
+ .withDescription("listen on the specified port.
Overrides any value in the config file")
+ .withLongOpt("port").create("p");
Option bind =
- OptionBuilder.withArgName("bind").hasArg()
- .withDescription("bind to the specified address.
Overrides any value in the config file")
- .withLongOpt("bind").create("b");
+ OptionBuilder.withArgName("bind").hasArg()
+ .withDescription("bind to the specified address.
Overrides any value in the config file")
+ .withLongOpt("bind").create("b");
Option logconfig =
- OptionBuilder.withArgName("logconfig").hasArg()
- .withDescription("use the specified log4j xml
configuration file. By "
- + "default looks for a file named " +
DEFAULT_LOG_CONFIG_FILENAME
- + " in the same directory as the configuration
file").withLongOpt("logconfig").create("l");
+ OptionBuilder.withArgName("logconfig").hasArg()
+ .withDescription("use the specified log4j xml
configuration file. By "
+ + "default looks for a file named " +
DEFAULT_LOG_CONFIG_FILENAME
+ + " in the same directory as the
configuration file").withLongOpt("logconfig").create("l");
Option logwatchconfig =
- OptionBuilder.withArgName("logwatch").hasArg()
- .withDescription("monitor the log file configuration
file for changes. Units are seconds. "
- + "Zero means do not check for
changes.").withLongOpt("logwatch").create("w");
+ OptionBuilder.withArgName("logwatch").hasArg()
+ .withDescription("monitor the log file configuration
file for changes. Units are seconds. "
+ + "Zero means do not check for
changes.").withLongOpt("logwatch").create("w");
options.addOption(help);
options.addOption(version);
@@ -213,7 +215,7 @@
if (QpidHome == null)
{
- error = error + "\nNote: "+QPID_HOME+" is not set.";
+ error = error + "\nNote: " + QPID_HOME + " is not set.";
}
throw new InitException(error, null);
@@ -239,10 +241,14 @@
ApplicationRegistry.initialise(new
ConfigurationFileApplicationRegistry(configFile));
- _logger.info("Starting Qpid.AMQP broker");
+ //fixme .. use QpidProperties.getVersionString when we have fixed the
classpath issues
+ // that are causing the broker build to pick up the wrong properties
file and hence say
+ // Starting Qpid Client
+ _brokerLogger.info("Starting Qpid Broker " +
QpidProperties.getReleaseVersion()
+ + " build: " + QpidProperties.getBuildVersion());
ConnectorConfiguration connectorConfig =
-
ApplicationRegistry.getInstance().getConfiguredObject(ConnectorConfiguration.class);
+
ApplicationRegistry.getInstance().getConfiguredObject(ConnectorConfiguration.class);
ByteBuffer.setUseDirectBuffers(connectorConfig.enableDirectBuffers);
@@ -293,7 +299,7 @@
}
protected void setupVirtualHosts(String configFileParent, String
configFilePath)
- throws ConfigurationException, AMQException, URLSyntaxException
+ throws ConfigurationException, AMQException, URLSyntaxException
{
String configVar = "${conf}";
@@ -320,7 +326,7 @@
if (fileNames[each].endsWith(".xml"))
{
VirtualHostConfiguration vHostConfig =
- new VirtualHostConfiguration(configFilePath + "/" +
fileNames[each]);
+ new VirtualHostConfiguration(configFilePath + "/"
+ fileNames[each]);
vHostConfig.performBindings();
}
}
@@ -367,7 +373,7 @@
}
acceptor.bind(bindAddress, handler, sconfig);
- _logger.info("Qpid.AMQP listening on non-SSL address " +
bindAddress);
+ _brokerLogger.info("Qpid.AMQP listening on non-SSL address " +
bindAddress);
}
if (connectorConfig.enableSSL)
@@ -376,11 +382,11 @@
try
{
acceptor.bind(new
InetSocketAddress(connectorConfig.sslPort), handler, sconfig);
- _logger.info("Qpid.AMQP listening on SSL port " +
connectorConfig.sslPort);
+ _brokerLogger.info("Qpid.AMQP listening on SSL port " +
connectorConfig.sslPort);
}
catch (IOException e)
{
- _logger.error("Unable to listen on SSL port: " + e, e);
+ _brokerLogger.error("Unable to listen on SSL port: " + e,
e);
}
}
}
@@ -434,7 +440,7 @@
catch (NumberFormatException e)
{
System.err.println("Log watch configuration value of " +
logWatchConfig + " is invalid. Must be "
- + "a non-negative integer. Using default of zero (no watching
configured");
+ + "a non-negative integer. Using default of
zero (no watching configured");
}
if (logConfigFile.exists() && logConfigFile.canRead())
@@ -443,7 +449,7 @@
if (logWatchTime > 0)
{
System.out.println("log file " +
logConfigFile.getAbsolutePath() + " will be checked for changes every "
- + logWatchTime + " seconds");
+ + logWatchTime + " seconds");
// log4j expects the watch interval in milliseconds
DOMConfigurator.configureAndWatch(logConfigFile.getAbsolutePath(), logWatchTime
* 1000);
}
Modified:
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management/JMXManagedObjectRegistry.java
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management/JMXManagedObjectRegistry.java?view=diff&rev=530832&r1=530831&r2=530832
==============================================================================
---
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management/JMXManagedObjectRegistry.java
(original)
+++
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management/JMXManagedObjectRegistry.java
Fri Apr 20 08:00:06 2007
@@ -83,7 +83,7 @@
}
- public void start()
+ public void start() throws IOException
{
// Check if the "QPID_OPTS" is set to use Out of the Box JMXAgent
if (areOutOfTheBoxJMXOptionsSet())
@@ -97,76 +97,60 @@
boolean security =
appRegistry.getConfiguration().getBoolean("management.security-enabled", true);
int port = appRegistry.getConfiguration().getInt("management.jmxport",
8999);
- try
+ if (security)
{
- if (security)
- {
- // For SASL using JMXMP
- _jmxURL = new JMXServiceURL("jmxmp", null, port);
+ // For SASL using JMXMP
+ _jmxURL = new JMXServiceURL("jmxmp", null, port);
- Map env = new HashMap();
- Map<String, PrincipalDatabase> map =
appRegistry.getDatabaseManager().getDatabases();
- PrincipalDatabase db = null;
-
- for (Map.Entry<String, PrincipalDatabase> entry :
map.entrySet())
- {
- if (entry.getValue() instanceof
Base64MD5PasswordFilePrincipalDatabase)
- {
- db = entry.getValue();
- break;
- }
- else if (entry.getValue() instanceof
PlainPasswordFilePrincipalDatabase)
- {
- db = entry.getValue();
- }
- }
-
- if (db instanceof Base64MD5PasswordFilePrincipalDatabase)
- {
- env.put("jmx.remote.profiles", "SASL/CRAM-MD5");
- CRAMMD5HashedInitialiser initialiser = new
CRAMMD5HashedInitialiser();
- initialiser.initialise(db);
- env.put("jmx.remote.sasl.callback.handler",
initialiser.getCallbackHandler());
- }
- else if (db instanceof PlainPasswordFilePrincipalDatabase)
- {
- env.put("jmx.remote.profiles", "SASL/PLAIN");
- env.put("jmx.remote.sasl.callback.handler", new
UserCallbackHandler(db));
- }
-
- // Enable the SSL security and server authentication
- /*
- SslRMIClientSocketFactory csf = new
SslRMIClientSocketFactory();
- SslRMIServerSocketFactory ssf = new
SslRMIServerSocketFactory();
-
env.put(RMIConnectorServer.RMI_CLIENT_SOCKET_FACTORY_ATTRIBUTE, csf);
-
env.put(RMIConnectorServer.RMI_SERVER_SOCKET_FACTORY_ATTRIBUTE, ssf);
- */
+ Map env = new HashMap();
+ Map<String, PrincipalDatabase> map =
appRegistry.getDatabaseManager().getDatabases();
+ PrincipalDatabase db = null;
- try
+ for (Map.Entry<String, PrincipalDatabase> entry : map.entrySet())
+ {
+ if (entry.getValue() instanceof
Base64MD5PasswordFilePrincipalDatabase)
+ {
+ db = entry.getValue();
+ break;
+ }
+ else if (entry.getValue() instanceof
PlainPasswordFilePrincipalDatabase)
{
- JMXConnectorServer cs =
JMXConnectorServerFactory.newJMXConnectorServer(_jmxURL, env, _mbeanServer);
- MBeanServerForwarder mbsf =
MBeanInvocationHandlerImpl.newProxyInstance();
- cs.setMBeanServerForwarder(mbsf);
- cs.start();
- _log.info("JMX: Starting JMXConnector server with SASL");
- }
- catch (java.net.MalformedURLException urlException)
- {
- // When JMXMPConnector is not available
- // java.net.MalformedURLException: Unsupported protocol:
jmxmp
- _log.info("JMX: Starting JMXConnector server");
- startJMXConnectorServer(port);
+ db = entry.getValue();
}
}
- else
+
+ if (db instanceof Base64MD5PasswordFilePrincipalDatabase)
+ {
+ env.put("jmx.remote.profiles", "SASL/CRAM-MD5");
+ CRAMMD5HashedInitialiser initialiser = new
CRAMMD5HashedInitialiser();
+ initialiser.initialise(db);
+ env.put("jmx.remote.sasl.callback.handler",
initialiser.getCallbackHandler());
+ }
+ else if (db instanceof PlainPasswordFilePrincipalDatabase)
{
- startJMXConnectorServer(port);
+ env.put("jmx.remote.profiles", "SASL/PLAIN");
+ env.put("jmx.remote.sasl.callback.handler", new
UserCallbackHandler(db));
}
+
+ // Enable the SSL security and server authentication
+ /*
+ SslRMIClientSocketFactory csf = new SslRMIClientSocketFactory();
+ SslRMIServerSocketFactory ssf = new SslRMIServerSocketFactory();
+ env.put(RMIConnectorServer.RMI_CLIENT_SOCKET_FACTORY_ATTRIBUTE,
csf);
+ env.put(RMIConnectorServer.RMI_SERVER_SOCKET_FACTORY_ATTRIBUTE,
ssf);
+ */
+
+ JMXConnectorServer cs =
JMXConnectorServerFactory.newJMXConnectorServer(_jmxURL, env, _mbeanServer);
+ MBeanServerForwarder mbsf =
MBeanInvocationHandlerImpl.newProxyInstance();
+ cs.setMBeanServerForwarder(mbsf);
+ cs.start();
+ _log.warn("JMX: Started JMXConnector server with SASL");
+
}
- catch (Exception ex)
+ else
{
- _log.error("Error in initialising Managed Object Registry." +
ex.getMessage());
- ex.printStackTrace();
+ startJMXConnectorServer(port);
+ _log.warn("JMX: Started JMXConnector server with security
disabled");
}
}
@@ -280,7 +264,7 @@
String username = ncb.getDefaultName();
try
{
- authorized = _principalDatabase.verifyPassword(username,
new String(pcb.getPassword()));
+ authorized = _principalDatabase.verifyPassword(username,
pcb.getPassword());
}
catch (AccountNotFoundException e)
{
Modified:
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management/MBeanInvocationHandlerImpl.java
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management/MBeanInvocationHandlerImpl.java?view=diff&rev=530832&r1=530831&r2=530832
==============================================================================
---
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management/MBeanInvocationHandlerImpl.java
(original)
+++
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management/MBeanInvocationHandlerImpl.java
Fri Apr 20 08:00:06 2007
@@ -18,6 +18,7 @@
package org.apache.qpid.server.management;
import org.apache.qpid.AMQException;
+import org.apache.qpid.server.security.access.AMQUserManagementMBean;
import org.apache.log4j.Logger;
import javax.management.remote.MBeanServerForwarder;
@@ -122,8 +123,20 @@
Principal principal = principals.iterator().next();
String identity = principal.getName();
+ if (isAdminMethod(args))
+ {
+ if (isAdmin(identity))
+ {
+ return method.invoke(mbs, args);
+ }
+ else
+ {
+ throw new SecurityException("Access denied");
+ }
+ }
+
// Following users can perform any operation other than "createMBean"
and "unregisterMBean"
- if (isAdmin(identity) || isAllowedToModify(identity))
+ if (isAllowedToModify(identity))
{
return method.invoke(mbs, args);
}
@@ -138,6 +151,41 @@
throw new SecurityException("Access denied");
}
+ private boolean isAdminMethod(Object[] args)
+ {
+ if (args[0] instanceof ObjectName)
+ {
+ String mbeanMethod = (args.length > 1) ? (String) args[1] : null;
+ if (mbeanMethod == null)
+ {
+ if (args[0] instanceof ObjectName)
+ {
+ ObjectName object = (ObjectName) args[0];
+ return
object.getCanonicalName().contains("UserManagement");
+ }
+ else
+ {
+ return false;
+ }
+ }
+
+ try
+ {
+ MBeanInfo mbeanInfo = mbs.getMBeanInfo((ObjectName) args[0]);
+ if (mbeanInfo != null)
+ {
+ return
mbeanInfo.getClassName().equals("org.apache.qpid.server.security.access.AMQUserManagementMBean");
+ }
+ }
+ catch (JMException ex)
+ {
+ return false;
+ }
+ }
+
+ return false;
+ }
+
// Initialises the user roles
public static void setAccessRights(Properties accessRights)
{
@@ -155,7 +203,8 @@
private boolean isAllowedToModify(String userName)
{
- if (READWRITE.equals(_userRoles.getProperty(userName)))
+ if (ADMIN.equals(_userRoles.getProperty(userName))
+ || READWRITE.equals(_userRoles.getProperty(userName)))
{
return true;
}
Modified:
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management/ManagedObjectRegistry.java
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management/ManagedObjectRegistry.java?view=diff&rev=530832&r1=530831&r2=530832
==============================================================================
---
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management/ManagedObjectRegistry.java
(original)
+++
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management/ManagedObjectRegistry.java
Fri Apr 20 08:00:06 2007
@@ -7,9 +7,9 @@
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -22,6 +22,7 @@
import javax.management.JMException;
import java.rmi.RemoteException;
+import java.io.IOException;
/**
* Handles the registration (and unregistration and so on) of managed objects.
@@ -37,7 +38,7 @@
*/
public interface ManagedObjectRegistry
{
- void start();
+ void start() throws IOException;
void registerObject(ManagedObject managedObject) throws JMException;
Modified:
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/access/AMQUserManagementMBean.java
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/access/AMQUserManagementMBean.java?view=diff&rev=530832&r1=530831&r2=530832
==============================================================================
---
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/access/AMQUserManagementMBean.java
(original)
+++
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/access/AMQUserManagementMBean.java
Fri Apr 20 08:00:06 2007
@@ -30,6 +30,7 @@
import org.apache.commons.configuration.ConfigurationException;
import javax.management.JMException;
+import javax.management.remote.JMXPrincipal;
import javax.management.openmbean.TabularData;
import javax.management.openmbean.TabularDataSupport;
import javax.management.openmbean.TabularType;
@@ -40,6 +41,7 @@
import javax.management.openmbean.CompositeData;
import javax.management.openmbean.CompositeDataSupport;
import javax.security.auth.login.AccountNotFoundException;
+import javax.security.auth.Subject;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
@@ -47,8 +49,11 @@
import java.util.Properties;
import java.util.List;
import java.util.Enumeration;
+import java.util.Set;
import java.util.concurrent.locks.ReentrantLock;
import java.security.Principal;
+import java.security.AccessControlContext;
+import java.security.AccessController;
/** MBean class for AMQUserManagementMBean. It implements all the management
features exposed for managing users. */
@MBeanDescription("User Management Interface")
@@ -250,8 +255,6 @@
// Table of users
// Username(string), Access rights Read,Write,Admin(bool,bool,bool)
- reloadData();
-
if (_userlistDataType == null)
{
_logger.warn("TabluarData not setup correctly");
@@ -411,7 +414,7 @@
rights.renameTo(old);
FileOutputStream output = new FileOutputStream(tmp);
- _accessRights.store(output, "");
+ _accessRights.store(output, "Last edited by user:" +
getCurrentJMXUser());
output.close();
// Rename new file to main file
@@ -432,6 +435,22 @@
_accessRightsUpdate.unlock();
}
}
+ }
+
+ private String getCurrentJMXUser()
+ {
+ AccessControlContext acc = AccessController.getContext();
+ Subject subject = Subject.getSubject(acc);
+
+ // Retrieve JMXPrincipal from Subject
+ Set<JMXPrincipal> principals =
subject.getPrincipals(JMXPrincipal.class);
+ if (principals == null || principals.isEmpty())
+ {
+ return "Unknown user principals were null";
+ }
+
+ Principal principal = principals.iterator().next();
+ return principal.getName();
}
/**
Modified:
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/access/UserManagement.java
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/access/UserManagement.java?view=diff&rev=530832&r1=530831&r2=530832
==============================================================================
---
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/access/UserManagement.java
(original)
+++
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/access/UserManagement.java
Fri Apr 20 08:00:06 2007
@@ -28,6 +28,7 @@
import javax.management.openmbean.TabularData;
import javax.management.openmbean.CompositeData;
import javax.management.JMException;
+import javax.management.MBeanOperationInfo;
import java.io.IOException;
public interface UserManagement
@@ -43,7 +44,8 @@
*
* @return The result of the operation
*/
- @MBeanOperation(name = "setPassword", description = "Set password for
user.")
+ @MBeanOperation(name = "setPassword", description = "Set password for
user.",
+ impact = MBeanOperationInfo.ACTION)
boolean setPassword(@MBeanOperationParameter(name = "username",
description = "Username")String username,
@MBeanOperationParameter(name = "password",
description = "Password")char[] password);
@@ -57,7 +59,8 @@
*
* @return The result of the operation
*/
- @MBeanOperation(name = "setRights", description = "Set access rights for
user.")
+ @MBeanOperation(name = "setRights", description = "Set access rights for
user.",
+ impact = MBeanOperationInfo.ACTION)
boolean setRights(@MBeanOperationParameter(name = "username", description
= "Username")String username,
@MBeanOperationParameter(name = "read", description =
"Administration read")boolean read,
@MBeanOperationParameter(name = "write", description =
"Administration write")boolean write,
@@ -74,7 +77,8 @@
*
* @return The result of the operation
*/
- @MBeanOperation(name = "createUser", description = "Create new user from
system.")
+ @MBeanOperation(name = "createUser", description = "Create new user from
system.",
+ impact = MBeanOperationInfo.ACTION)
boolean createUser(@MBeanOperationParameter(name = "username", description
= "Username")String username,
@MBeanOperationParameter(name = "password", description
= "Password")char[] password,
@MBeanOperationParameter(name = "read", description =
"Administration read")boolean read,
@@ -88,7 +92,8 @@
*
* @return The result of the operation
*/
- @MBeanOperation(name = "deleteUser", description = "Delete user from
system.")
+ @MBeanOperation(name = "deleteUser", description = "Delete user from
system.",
+ impact = MBeanOperationInfo.ACTION)
boolean deleteUser(@MBeanOperationParameter(name = "username", description
= "Username")String username);
@@ -97,15 +102,17 @@
*
* @return The result of the operation
*/
-// @MBeanOperation(name = "reloadData", description = "Reload the
authentication file from disk.")
-// boolean reloadData();
+ @MBeanOperation(name = "reloadData", description = "Reload the
authentication file from disk.",
+ impact = MBeanOperationInfo.ACTION)
+ boolean reloadData();
/**
* View users returns all the users that are currently available to the
system.
*
* @return a table of users data (Username, read, write, admin)
*/
- @MBeanOperation(name = "viewUsers", description = "All users with access
rights to the system.")
+ @MBeanOperation(name = "viewUsers", description = "All users with access
rights to the system.",
+ impact = MBeanOperationInfo.INFO)
TabularData viewUsers();
}
Modified:
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/Base64MD5PasswordFilePrincipalDatabase.java
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/Base64MD5PasswordFilePrincipalDatabase.java?view=diff&rev=530832&r1=530831&r2=530832
==============================================================================
---
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/Base64MD5PasswordFilePrincipalDatabase.java
(original)
+++
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/Base64MD5PasswordFilePrincipalDatabase.java
Fri Apr 20 08:00:06 2007
@@ -153,27 +153,19 @@
*
* @throws AccountNotFoundException if the principal cannot be found
*/
- public boolean verifyPassword(String principal, String password) throws
AccountNotFoundException
+ public boolean verifyPassword(String principal, char[] password) throws
AccountNotFoundException
{
- try
- {
- char[] pwd = lookupPassword(principal);
- byte[] passwordBytes = password.getBytes(DEFAULT_ENCODING);
+ char[] pwd = lookupPassword(principal);
- int index = 0;
- boolean verified = true;
+ int index = 0;
+ boolean verified = true;
- while (verified & index < passwordBytes.length)
- {
- verified = (pwd[index] == (char) passwordBytes[index]);
- index++;
- }
- return verified;
- }
- catch (UnsupportedEncodingException e)
+ while (verified & index < password.length)
{
- return false;
+ verified = (pwd[index] == password[index]);
+ index++;
}
+ return verified;
}
public boolean updatePassword(Principal principal, char[] password) throws
AccountNotFoundException
@@ -590,7 +582,7 @@
int index = 0;
for (char c : _password)
{
- byteArray[index++] = (byte)c;
+ byteArray[index++] = (byte) c;
}
_encodedPassword = (new Base64()).encode(byteArray);
}
Modified:
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/PlainPasswordFilePrincipalDatabase.java
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/PlainPasswordFilePrincipalDatabase.java?view=diff&rev=530832&r1=530831&r2=530832
==============================================================================
---
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/PlainPasswordFilePrincipalDatabase.java
(original)
+++
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/PlainPasswordFilePrincipalDatabase.java
Fri Apr 20 08:00:06 2007
@@ -121,34 +121,18 @@
}
}
- public boolean verifyPassword(String principal, String password) throws
AccountNotFoundException
+ public boolean verifyPassword(String principal, char[] password) throws
AccountNotFoundException
{
try
{
char[] pwd = lookupPassword(principal);
- return compareCharArray(pwd, convertPassword(password));
+ return compareCharArray(pwd, password);
}
catch (IOException e)
{
return false;
}
- }
-
- private char[] convertPassword(String password) throws
UnsupportedEncodingException
- {
- byte[] passwdBytes = password.getBytes("utf-8");
-
- char[] passwd = new char[passwdBytes.length];
-
- int index = 0;
-
- for (byte b : passwdBytes)
- {
- passwd[index++] = (char) b;
- }
-
- return passwd;
}
public boolean updatePassword(Principal principal, char[] password) throws
AccountNotFoundException
Modified:
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/PrincipalDatabase.java
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/PrincipalDatabase.java?view=diff&rev=530832&r1=530831&r2=530832
==============================================================================
---
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/PrincipalDatabase.java
(original)
+++
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/PrincipalDatabase.java
Fri Apr 20 08:00:06 2007
@@ -55,7 +55,7 @@
* @return true if password is correct
* @throws AccountNotFoundException if the principal cannot be found
*/
- boolean verifyPassword(String principal, String password)
+ boolean verifyPassword(String principal, char[] password)
throws AccountNotFoundException;
/**
Modified:
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/PropertiesPrincipalDatabase.java
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/PropertiesPrincipalDatabase.java?view=diff&rev=530832&r1=530831&r2=530832
==============================================================================
---
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/PropertiesPrincipalDatabase.java
(original)
+++
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/PropertiesPrincipalDatabase.java
Fri Apr 20 08:00:06 2007
@@ -79,18 +79,12 @@
}
}
- public boolean verifyPassword(String principal, String password) throws
AccountNotFoundException
+ public boolean verifyPassword(String principal, char[] password) throws
AccountNotFoundException
{
+ //fixme this is not correct as toCharArray is not safe based on the
type of string.
char[] pwd = _users.getProperty(principal).toCharArray();
- try
- {
- return compareCharArray(pwd, convertPassword(password));
- }
- catch (UnsupportedEncodingException e)
- {
- return false;
- }
+ return compareCharArray(pwd, password);
}
public boolean updatePassword(Principal principal, char[] password) throws
AccountNotFoundException
Modified:
incubator/qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueAlertTest.java
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueAlertTest.java?view=diff&rev=530832&r1=530831&r2=530832
==============================================================================
---
incubator/qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueAlertTest.java
(original)
+++
incubator/qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueAlertTest.java
Fri Apr 20 08:00:06 2007
@@ -64,7 +64,7 @@
*/
public void testMessageCountAlert() throws Exception
{
- _queue = new AMQQueue(new AMQShortString("testQueue1"), false, new
AMQShortString("AMQueueAlertTest"),
+ _queue = new AMQQueue(new AMQShortString("testQueue1"), false, new
AMQShortString("AMQueueAlertTest"),
false, _virtualHost);
_queueMBean = (AMQQueueMBean) _queue.getManagedObject();
@@ -87,7 +87,7 @@
*/
public void testMessageSizeAlert() throws Exception
{
- _queue = new AMQQueue(new AMQShortString("testQueue2"), false, new
AMQShortString("AMQueueAlertTest"),
+ _queue = new AMQQueue(new AMQShortString("testQueue2"), false, new
AMQShortString("AMQueueAlertTest"),
false, _virtualHost);
_queueMBean = (AMQQueueMBean) _queue.getManagedObject();
_queueMBean.setMaximumMessageCount(MAX_MESSAGE_COUNT);
@@ -112,7 +112,7 @@
*/
public void testQueueDepthAlertNoSubscriber() throws Exception
{
- _queue = new AMQQueue(new AMQShortString("testQueue3"), false, new
AMQShortString("AMQueueAlertTest"),
+ _queue = new AMQQueue(new AMQShortString("testQueue3"), false, new
AMQShortString("AMQueueAlertTest"),
false, _virtualHost);
_queueMBean = (AMQQueueMBean) _queue.getManagedObject();
_queueMBean.setMaximumMessageCount(MAX_MESSAGE_COUNT);
@@ -138,7 +138,7 @@
*/
public void testMessageAgeAlert() throws Exception
{
- _queue = new AMQQueue(new AMQShortString("testQueue4"), false, new
AMQShortString("AMQueueAlertTest"),
+ _queue = new AMQQueue(new AMQShortString("testQueue4"), false, new
AMQShortString("AMQueueAlertTest"),
false, _virtualHost);
_queueMBean = (AMQQueueMBean) _queue.getManagedObject();
_queueMBean.setMaximumMessageCount(MAX_MESSAGE_COUNT);
@@ -175,19 +175,19 @@
_queue = getNewQueue();
_queue.registerProtocolSession(protocolSession, channel.getChannelId(),
new AMQShortString("consumer_tag"),
true, null, false, false);
-
+
_queueMBean = (AMQQueueMBean) _queue.getManagedObject();
_queueMBean.setMaximumMessageCount(9999l); // Set a high value,
because this is not being tested
_queueMBean.setMaximumQueueDepth(MAX_QUEUE_DEPTH);
// Send messages(no of message to be little more than what can cause a
Queue_Depth alert)
- int messageCount = Math.round(MAX_QUEUE_DEPTH/MAX_MESSAGE_SIZE) + 10;
+ int messageCount = Math.round(MAX_QUEUE_DEPTH / MAX_MESSAGE_SIZE) + 10;
long totalSize = (messageCount * MAX_MESSAGE_SIZE) >> 10;
sendMessages(messageCount, MAX_MESSAGE_SIZE);
// Check queueDepth. There should be no messages on the queue and as
the subscriber is listening
// so there should be no Queue_Deoth alert raised
- assertTrue(_queueMBean.getQueueDepth() == 0);
+ assertEquals(new Long(0), new Long(_queueMBean.getQueueDepth()));
Notification lastNotification = _queueMBean.getLastNotification();
assertNull(lastNotification);
@@ -196,14 +196,13 @@
_queue.unregisterProtocolSession(protocolSession,
channel.getChannelId(), new AMQShortString("consumer_tag"));
channel.requeue();
- assertTrue(_queueMBean.getQueueDepth() == totalSize);
+ assertEquals(new Long(totalSize), new
Long(_queueMBean.getQueueDepth()));
lastNotification = _queueMBean.getLastNotification();
assertNotNull(lastNotification);
String notificationMsg = lastNotification.getMessage();
assertTrue(notificationMsg.startsWith(NotificationCheck.QUEUE_DEPTH_ALERT.name()));
-
// Connect a consumer again and check QueueDepth values. The queue
should get emptied.
// Messages will get delivered but still are unacknowledged.
_queue.registerProtocolSession(protocolSession, channel.getChannelId(),
@@ -213,19 +212,19 @@
{
Thread.sleep(100);
}
- assertTrue(_queueMBean.getQueueDepth() == 0);
+ assertEquals(new Long(0), new Long(_queueMBean.getQueueDepth()));
// Kill the subscriber again. Now those messages should get requeued
again. Check if the queue depth
// value is correct.
_queue.unregisterProtocolSession(protocolSession,
channel.getChannelId(), new AMQShortString("consumer_tag"));
channel.requeue();
- assertTrue(_queueMBean.getQueueDepth() == totalSize);
+ assertEquals(new Long(totalSize), new
Long(_queueMBean.getQueueDepth()));
protocolSession.closeSession();
// Check the clear queue
_queueMBean.clearQueue();
- assertTrue(_queueMBean.getQueueDepth() == 0);
+ assertEquals(new Long(0), new Long(_queueMBean.getQueueDepth()));
}
protected AMQMessage message(final boolean immediate, long size) throws
AMQException
@@ -272,7 +271,7 @@
private void sendMessages(long messageCount, long size) throws AMQException
{
- AMQMessage[] messages = new AMQMessage[(int)messageCount];
+ AMQMessage[] messages = new AMQMessage[(int) messageCount];
for (int i = 0; i < messages.length; i++)
{
messages[i] = message(false, size);