forum.bitel.ru
http://forum.bitel.ru/

Warning в логах
http://forum.bitel.ru/viewtopic.php?f=7&t=6409
Страница 1 из 1

Автор:  max [ 03 фев 2012, 00:58 ]
Заголовок сообщения:  Warning в логах

Код:
02-03/00:40:15  WARN [pool-5-thread-1] ScriptInstance - 85.202.0.1:0[]: using deprecated method [public static final java.lang.String bitel.billing.common.IPUtils.convertIpToString(long)]
02-03/00:40:15  WARN [pool-5-thread-1] ScriptInstance - 85.202.0.1:0[]: using deprecated class [bitel.billing.server.ipn.bean.AddressRangeManager]
02-03/00:40:15  WARN [pool-5-thread-1] ScriptInstance - 85.202.0.1:0[]: using deprecated method [public final java.lang.String ru.bitel.common.Preferences.getStringValue(java.lang.String)]

А вот сам скрипт
Код:
import bitel.billing.server.ipn.bean.AddressRange;
import bitel.billing.server.ipn.UserStatus;
import bitel.billing.server.ipn.bean.AddressRangeManager;
import bitel.billing.server.util.DefaultServerSetup;
import bitel.billing.server.util.Utils;
import bitel.billing.common.IPUtils;

protected void doSync()
{
    date = new GregorianCalendar();
    gateSetup = new DefaultServerSetup( gate.getConfig(), "\r\n"
);                               
    script = gateSetup.getStringValue( "script");

    //цикл по всем договорам на этом шлюзе
    for( UserStatus status : statusList )
    {
        cid = status.contractId;
        //
        AddressRangeManager man = new AddressRangeManager( con, mid );
        addressList = man.getContractAddressRange( cid, date, -1 );
        for ( AddressRange range : addressList)
        {
            ip = getIP( range);
            mask = getMask ( range) ;
            String host = gate.getHost();
            if ( mask == null )
            {
                log.info( "Incorrect range  for cid = " + cid );
                continue;
            }
            //log.info( "script = " + script );
            log.info( "ip = " + ip );   
            log.info( "mask = " + mask );   
            log.info( "host = " + host );   


            String [] arguments = { script, ip, mask, host, String.valueOf( status.status ) };

            //выполняем команду
            Process process = Runtime.getRuntime().exec( arguments );
               //ждем окончания работы процесса ..Это не обязательно
            process.waitFor();
            log.info( "exitCode=" + process.exitValue() );       
       
        }
    }
}

getIP ( range )
{
    return IPUtils.convertIpToString( range.getAddr1() );
}
getMask ( range )
{
    result = null;
    delta = range.getAddr2() - range.getAddr1() + 1;
    pow = getPow( delta );
    log.info( "pow = " + pow );
   

    //махинация для того чтоб получить 0xFFFFFFFF -в beanshell не
//получилось задать такое большое число и модификатор l в конце не работает
    ffMask = (0xFFFFFFF);
    ffMask = (ffMask << 8 ) | 0xFF;

    if ( pow >= 0 )
    {           
        mask = ffMask;
        mask = (mask << pow) & ffMask;       
        result = IPUtils.convertIpToString( mask );
    }   
    return result;
}

//находим разницу между двумя ip(она должна быть степеью двойки) и
//возращаем эту степень
int getPow( long delta )
{
    int idx = 0;
    int count = 0;
    pow = -1;
    while (  delta > 0 )
    {
           
        if ( (delta  &  1 ) == 1 )
        {
            count ++;
            pow = idx;
            if ( count > 1)
            {
                break;
            }                           
        }
        delta = (delta >> 1);
           
        idx++;
                       
    }
    //если не одна единица в числе, значит это не степень двойки и
//диапазон задан неверно
    if ( count != 1 )
    {
          pow = -1;           
    }
    return pow;
}

И судя по жалобам работать он перестал нормально после апгрейда с 5.0 на 5.1 можно узнать почему?
Заранее спасибо.

Автор:  Phricker [ 03 фев 2012, 09:17 ]
Заголовок сообщения:  Re: Warning в логах

:D Научили вас SQLю теперь будем учить API биллинга
- заходим сюда http://bgbilling.ru/v5.1/javadoc/index.html
- берем первую строчку
Код:
02-03/00:40:15  WARN [pool-5-thread-1] ScriptInstance - 85.202.0.1:0[]: using deprecated method [public static final java.lang.String bitel.billing.common.IPUtils.convertIpToString(long)]

- находим класс bitel.billing.common.IPUtils
- видим что нам пишет
Цитата:
convertIpToString(long ip)
Deprecated. использовать convertLongIpToString(long)


Про депрекацию Кромешник в другой теме скинул ссылку

Автор:  dimOn [ 03 фев 2012, 15:57 ]
Заголовок сообщения:  Re: Warning в логах

нормальность работы не связана с депрекейтами скорее всего, надо смотреть по логике работы итд

Автор:  max [ 03 фев 2012, 20:45 ]
Заголовок сообщения:  Re: Warning в логах

Из ваших возвышенных реплик, простым сметрным которые код явы видели только в фантастических книжках, нифига не понятно!

Автор:  Victor [ 03 фев 2012, 20:55 ]
Заголовок сообщения:  Re: Warning в логах

max писал(а):
Из ваших возвышенных реплик, простым сметрным которые код явы видели только в фантастических книжках, нифига не понятно!

Простым смертным категорически не рекомендуется пользоваться этим биллингом. Наймите программиста.

Автор:  max [ 03 фев 2012, 22:06 ]
Заголовок сообщения:  Re: Warning в логах

Может тут кто возьмётся за кровные помочь?
Наймите прогармиста звучит громко.

Автор:  Phricker [ 04 фев 2012, 01:34 ]
Заголовок сообщения:  Re: Warning в логах

max писал(а):
Из ваших возвышенных реплик, простым сметрным которые код явы видели только в фантастических книжках, нифига не понятно!

Зря вы так.
Я код явы впервые увидел здесь же на вики.
Не могу сказать, что я гуру (да и не гуру а даже разбирающийся), но хоть немного но понимаю :D Главное знать что хочешь получить и немного представить как это можно организовать.
Я уже даже api начал разбирать О.О
Особенно учитывая что последняя моя программа до знакомства с БГ содержала circle и писалась на basic'е лет 6 назад :mrgreen:

Автор:  max [ 04 фев 2012, 17:13 ]
Заголовок сообщения:  Re: Warning в логах

А я если честно ваще нираззу не программер, вы хоть шесть лет назад.....

Автор:  dimOn [ 06 фев 2012, 10:47 ]
Заголовок сообщения:  Re: Warning в логах

max писал(а):
Из ваших возвышенных реплик, простым сметрным которые код явы видели только в фантастических книжках, нифига не понятно!
Сказали Вы:
max писал(а):
И судя по жалобам работать он перестал нормально после апгрейда с 5.0 на 5.1
, а я добавил, что по всей видимости не ваши «ошибки» содержащие «using deprecated» тому виной.

Автор:  dimOn [ 06 фев 2012, 10:52 ]
Заголовок сообщения:  Re: Warning в логах

Поэтому по первой части вам уже ответили, а по второй ("не работает") надо отдельно разбираться

Автор:  max [ 06 фев 2012, 21:34 ]
Заголовок сообщения:  Re: Warning в логах

а в хелпдеске со скриптом помогут?

Автор:  stark [ 17 фев 2012, 17:55 ]
Заголовок сообщения:  Re: Warning в логах

max писал(а):
а в хелпдеске со скриптом помогут?

Да

Автор:  max [ 18 фев 2012, 18:01 ]
Заголовок сообщения:  Re: Warning в логах

ОК, спасибо напишу туда

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/