TestMultiOrb.cxx
上传用户:xfwatch
上传日期:2020-12-14
资源大小:872k
文件大小:3k
源码类别:

中间件编程

开发平台:

Java

  1. /*
  2.  * JBoss, Home of Professional Open Source
  3.  * Copyright 2008, Red Hat, Inc., and others contributors as indicated
  4.  * by the @authors tag. All rights reserved.
  5.  * See the copyright.txt in the distribution for a
  6.  * full listing of individual contributors.
  7.  * This copyrighted material is made available to anyone wishing to use,
  8.  * modify, copy, or redistribute it subject to the terms and conditions
  9.  * of the GNU Lesser General Public License, v. 2.1.
  10.  * This program is distributed in the hope that it will be useful, but WITHOUT A
  11.  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
  12.  * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
  13.  * You should have received a copy of the GNU Lesser General Public License,
  14.  * v.2.1 along with this distribution; if not, write to the Free Software
  15.  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
  16.  * MA  02110-1301, USA.
  17.  */
  18. #include "TestAssert.h"
  19. #include <cppunit/TestFixture.h>
  20. #include <tao/ORB.h>
  21. #include "TestMultiOrb.h"
  22. #include "AtmiBrokerPoaFac.h"
  23. #include "OrbManagement.h"
  24. #include "AtmiBrokerEnv.h"
  25. #include "Worker.h"
  26. #include "userlogc.h"
  27. void TestMultiOrb::setUp() {
  28. init_ace();
  29. // Perform set up
  30. ACE_OS::putenv("BLACKTIE_CONFIGURATION_DIR=xmltest");
  31. // Perform global set up
  32. TestFixture::setUp();
  33. }
  34. void TestMultiOrb::tearDown() {
  35. // Perform clean up
  36. ACE_OS::putenv("BLACKTIE_CONFIGURATION_DIR=.");
  37. // Perform global clean up
  38. TestFixture::tearDown();
  39. }
  40. void TestMultiOrb::test() {
  41. try {
  42. CORBA_CONNECTION* serverConnection = initOrb((char*) "server");
  43. CORBA_CONNECTION* clientConnection = initOrb((char*) "client");
  44. shutdownBindings(serverConnection);
  45. serverConnection = NULL;
  46. shutdownBindings(clientConnection);
  47. clientConnection = NULL;
  48. } catch (CORBA::Exception &e) {
  49. BT_FAIL("COULDN'T CONNECT TO NAME SERVICE");
  50. }
  51. }
  52. void TestMultiOrb::test_manyorb() {
  53. for (int i = 0; i < 10; i++) {
  54. CORBA_CONNECTION* serverConnection = initOrb((char*) "server");
  55. AtmiBrokerPoaFac* serverPoaFactory = new AtmiBrokerPoaFac();
  56. PortableServer::POA_var server_poa = serverPoaFactory->createServerPoa(((CORBA::ORB_ptr) serverConnection->orbRef), "foo", ((PortableServer::POA_ptr) serverConnection->root_poa), ((PortableServer::POAManager_ptr) serverConnection->root_poa_manager));
  57. CORBA_CONNECTION* clientConnection = initOrb((char*) "client");
  58. shutdownBindings(serverConnection);
  59. serverConnection = NULL;
  60. shutdownBindings(clientConnection);
  61. clientConnection = NULL;
  62. delete serverPoaFactory;
  63. }
  64. }