Как вы используете Jython для разработки Java? - PullRequest
1 голос
/ 05 октября 2009

Таким образом, вы не можете использовать Jython для производственного кода, который вы разрабатываете на работе. Вместо этого вы можете использовать его, чтобы помочь вам в повседневных задачах и действиях при написании этого Java-кода. Вопрос в том, как вы используете Jython и как это помогло вашему развитию и / или производительности?

Ответы [ 5 ]

3 голосов
/ 05 октября 2009

Я запускаю командную строку Jython и динамически создаю / опрашиваю свои классы в командной строке. Я считаю, что это очень эффективно для определения того, как классы будут реагировать на различные входные данные (обычно они кодируются в тесты и т. П.).

Я также нашел это очень полезным для изучения Swing - динамического изменения размера / переупаковки и добавления / удаления компонентов.

Вы можете сделать то же самое с другими языками сценариев Java (например, BeanShell), но Jython - это тот, на котором я взял и использовал первым.

1 голос
/ 12 октября 2009

Я использую Jython для доступа к базе данных Sybase, используя jconn2.jar и включенный com.sybase.jdbc2.jdbc.SybDriver. Вместе с zxJDBC или iBATIS это позволяет мне программировать на Python для одной из основных баз данных в компании, в которой я работаю.

1 голос
/ 05 октября 2009

Я использую litte-скрипты для запуска ant-скриптов, запускающих и останавливающих jboss ... Скрипты работают везде Win и Linux (нет необходимости в специальных .bat /.sh)

в качестве примера мой маленький util.py (для импорта)

import sys
import os
import shutil

def ant(buildfile,target=''):
    antrun = os.sep.join([os.environ['ANT_HOME'],'bin','ant'])
    action = ' '.join([antrun,'-buildfile',buildfile,target])
    os.system(action)

def jboss_start():
    jbrun = os.sep.join([os.environ['JBOSS_HOME'],'bin','run'])
    action = ' '.join(['start',jbrun,'-c default -b %COMPUTERNAME%'])
    print action
    os.system(action)

def jboss_stop(args='--user=admin --password=admin -s %COMPUTERNAME% -S'):
    os.environ['NOPAUSE'] = "TRUE"
    jbstop = os.sep.join([os.environ['JBOSS_HOME'],'bin','shutdown'])
    action = ' '.join([jbstop,args])
    print action
    os.system(action)

def pjoin(*args):
    rc = os.sep.join(args)
    return os.path.normpath(rc)

def env(key,value=None):
    if value :
        os.environ[key] = value
    return os.environ.get(key,'')

def cp(src,dst):
    shutil.copy(src, dst)

def mkdir(dst,mode=0777):
    if not os.path.exists(dst) :
        os.makedirs(dst, mode)

.. и я запускаю тест в Eclipse с помощью Jython (pydev). Jython идеально подходит для написания небольших тестов вашего Java-кода.

0 голосов
/ 20 октября 2009

Потому что:

  • Мне нравится Python,
  • и один из наших основных продуктов написан на Java и использует драйверы JDBC

Я использую Jython с zxJDBC, чтобы выполнять некоторые инструменты, такие как тестирование запросов, схема тестирования и т. д. Например, я создал инструмент для экспорта базы данных Oracle информация (таблицы, столбцы, триггеры, процедуры), которые можно использовать с драйвером JDBC Python + cx_Oracle или Jython +.

0 голосов
/ 12 октября 2009

мы используем jython для запуска jybot, тестового бегуна, который является частью фреймворка роботов . Это позволяет нам писать код Java как связующее звено между нашим кодом Java и нашими тестовыми сценариями.

...