Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Теряю подключение при передаче файла... CORBA 
:(
    Опции темы
FatherFrost
Дата 11.1.2006, 08:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Почетный Мороз
**


Профиль
Группа: Участник
Сообщений: 272
Регистрация: 27.4.2005
Где: Крайний север

Репутация: 5
Всего: 6



Проблема в следующем... При передаче файла от CORBA сервера клиенту по довольно медленному каналу вылетает ошибка о потере подключения
Добавлено @ 08:36
Привожу ошибку:
Код

org.omg.CORBA.COMM_FAILURE:   vmcid: SUN  minor code: 208 completed: Maybe
    at com.sun.corba.se.impl.logging.ORBUtilSystemException.connectionAbort(ORBUtilSystemException.java:2372)
    at com.sun.corba.se.impl.logging.ORBUtilSystemException.connectionAbort(ORBUtilSystemException.java:2390)
    at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.finishReadingBits(SocketOrChannelConnectionImpl.java:421)
    at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.doWork(SocketOrChannelConnectionImpl.java:1182)
    at com.sun.corba.se.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:398)
Caused by: org.omg.CORBA.COMM_FAILURE:   vmcid: SUN  minor code: 215  completed: No
    at com.sun.corba.se.impl.logging.ORBUtilSystemException.transportReadTimeoutExceeded(ORBUtilSystemException.java:2572)
    at com.sun.corba.se.impl.logging.ORBUtilSystemException.transportReadTimeoutExceeded(ORBUtilSystemException.java:2598)
    at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.readFully(SocketOrChannelConnectionImpl.java:628)
    at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.read(SocketOrChannelConnectionImpl.java:559)
    at com.sun.corba.se.impl.protocol.giopmsgheaders.MessageBase.readGIOPBody(MessageBase.java:413)
    at com.sun.corba.se.impl.transport.CorbaContactInfoBase.finishCreatingMessageMediator(CorbaContactInfoBase.java:183)
    at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.finishReadingBits(SocketOrChannelConnectionImpl.java:380)

Нашел, что minor code 208 - это код CONNECTION ABORT

Это сообщение отредактировал(а) FatherFrost - 11.1.2006, 08:34


--------------------
Задаю много глупых вопросов....
PM MAIL ICQ   Вверх
FatherFrost
Дата 11.1.2006, 10:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Почетный Мороз
**


Профиль
Группа: Участник
Сообщений: 272
Регистрация: 27.4.2005
Где: Крайний север

Репутация: 5
Всего: 6



Родилась мысль, что причина в таймауте для ожидания ответа сервера клиентом.Может ктонить сталкивался с этим?


--------------------
Задаю много глупых вопросов....
PM MAIL ICQ   Вверх
FatherFrost
Дата 12.1.2006, 08:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Почетный Мороз
**


Профиль
Группа: Участник
Сообщений: 272
Регистрация: 27.4.2005
Где: Крайний север

Репутация: 5
Всего: 6



На сановскрм форуме нашел следующую вещь:
Код

The fix is to set the following property:
com.sun.CORBA.transport.ORBTCPReadTimeouts

The value is a colon delimited list of timeout values:
// transport read tcp timeout property, colon separated property
// with syntax
// wait: max read message time to wait:backoff factor>
public static final String TRANSPORT_TCP_READ_TIMEOUTS_PROPERTY =
SUN_PREFIX + "transport.ORBTCPReadTimeouts";

// initial time to wait in milliseconds if a transport
// tcp read returns 0 bytes
public static final int TRANSPORT_TCP_INITIAL_TIME_TO_WAIT = 100;

// max time to spend in cumulative waits in milliseconds
// if a transport tcp read returns 0 bytes
public static final int TRANSPORT_TCP_MAX_TIME_TO_WAIT = 3000;

// max time to spend in cumulative waits in milliseconds
// if a transport tcp read of GIOP header returns 0 bytes
public static final int TRANSPORT_TCP_GIOP_HEADER_MAX_TIME_TO_WAIT = 300;

// A backoff percentage used to compute the next amount of time to
// wait on a subsequent transport tcp read of 0 bytes
public static final int TRANSPORT_TCP_TIME_TO_WAIT_BACKOFF_FACTOR = 20;

Therefore, I was able to use the following command as my query may take up to a minute to complete:
System.setProperty("com.sun.CORBA.transport.ORBTCPReadTimeouts", "100:60000:180000:20");

В принципе это должно работать на тигренке, но что то у меня не выходит...



--------------------
Задаю много глупых вопросов....
PM MAIL ICQ   Вверх
FatherFrost
Дата 12.1.2006, 09:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Почетный Мороз
**


Профиль
Группа: Участник
Сообщений: 272
Регистрация: 27.4.2005
Где: Крайний север

Репутация: 5
Всего: 6



Оказалась перед запуском ORB'а лучше системные свойства задавать следующим образом:
Код

System.getProperties().put("org.omg.CORBA.ORBInitRef",    settings.getProperty("ORBInitRef"));
System.getProperties().put("com.sun.CORBA.transport.ORBTCPReadTimeouts", "100:60000:180000:20");

Теперь все работает. Ткаим образом мы задаем режим работы клиентского сокета.


--------------------
Задаю много глупых вопросов....
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0476 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.