Nimbusは、SIerによるSIerのためのSI部品ライブラリです。 基盤としてDIコンテナを持ち、サービス(POJO)をホスティングし、アプリケーションに提供します。 また、ライフサイクルの概念があり、サービス間の依存関係の解決を行いながらライフサイクルを制御します。
バグFIX、機能追加、機能改善、動作変更を行いました。
1. バグFIX
(1)jp.ossc.nimbus.beans.ArrayEditorの不具合を修正
setAsText("")すると、長さ0のString配列がsetValue()されてしまう不具合を修正した。
(2)jp.ossc.nimbus.beans.ConstructorEditorの不具合を修正
コンストラクタの引数がない場合に、IllegalArgumentExceptionが発生する不具合を修正した。
(3)jp.ossc.nimbus.beans.NestedPropertyの不具合を修正
toString()で、NullPointerExceptionが発生する場合がある不具合を修正した。
(4)jp.ossc.nimbus.beans.SimplePropertyの不具合を修正
・getProperties()、getPropertyNames()でインデックス付きのプロパティまで取得される不具合を修正した。
・Recordクラスを引数にisReadable(Class)、isWritable(Class)を呼び出すと、必ずtrueが返ってくる不具合を修正した。
・Recordオブジェクトに対するisReadable(Object)、isWritable(Object)呼び出しで、Mapインタフェースを実装しているため、スキーマに存在しないプロパティでも必ずtrueが戻る不具合を修正した。
・isWritable(Object,Class)で、フィールドが存在すると、フィールドの型が合致しなくてもtrueが返ってくる不具合を修正した。
・SimpleProperty.getProperties()で取得した、数値型プロパティのSimplePropertyに対して、isWritable(Object, Class)、isWritable(Object, Object)の第二引数でキャスト可能な数値型を指定しても、falseが返ってくる不具合を修正した。
・cmpareTo(Object)で、NullPointerExceptionが発生する場合がある不具合を修正した。
(5)jp.ossc.nimbus.beans.StringArrayEditorの不具合を修正
${\n}や${\r}などを指定しても、トリムされてしまう不具合を修正した。
(6)jp.ossc.nimbus.beans.StringEditorの不具合を修正
setAsText(null)でNullPointerExceptionが発生する不具合を修正した。
(7)jp.ossc.nimbus.beans.dataset.DataSetCodeGeneratorの不具合を修正
・schema要素のtype属性をappendにした場合に、プロパティのインデックス定数の値が不正になる不具合を修正した。
・ヘッダ名を設定しない場合に、ヘッダ名が"null"になる不具合を修正した。
・dataset要素下に、schema要素を持ったheader要素を記述すると、Headerクラスのソースが正しく出力されない不具合を修正した。
・複数階層継承したRecordクラスを定義すると、クラス内に宣言されるPROPERTY_INDEX_OFFSETフィールドの値が正しくなくなる不具合を修正した。
(8)jp.ossc.nimbus.beans.dataset.Recordの不具合を修正
hashCode()とequals()の等価性が正しくない不具合を修正した。
(9)jp.ossc.nimbus.core.ServiceBaseの不具合を修正
サービス定義に定義されていないサービス(instance="factory" management="true"と定義し、動的に生成・登録されたサービスなど)のgetServiceLoader()を呼び出すと、ServiceNotFoundExceptionが発生する不具合を修正した。
(10)jp.ossc.nimbus.core.ServiceNameの不具合を修正
compareTo(Object)で、等しいのに-1が返る場合がある不具合を修正した。
(11)jp.ossc.nimbus.core.Utilityの不具合を修正
${}でプロパティ置換する記述が、1つの要素中に複数現れると、置換できない不具合を修正した。
(12)jp.ossc.nimbus.service.beancontrol.BeanFlowInvokerAccessImpl2の不具合を修正
invoke要素で、異なるクラスのメソッドを呼び出すと、IllegalArgumentExceptionが発生する場合がある不具合を修正した。
(13)jp.ossc.nimbus.service.beancontrol.DefaultBeanFlowInvokerFactoryServiceの不具合を修正
BeanFlow定義ファイル内で、${}でプロパティ置換する記述が、1つの要素中に複数現れると、置換できない不具合を修正した。
(14)jp.ossc.nimbus.service.context.SharedContextServiceの不具合を修正
・CacheMapを設定した場合に、remove()すると、必ずnullが返る不具合を修正した。
・CacheMapを設定してrehashすると、正しくrehashできない不具合を修正した。
・存在するキーに対して、put(Object,Object)メソッドを呼び出すと、一瞬インデックスが削除されるため、マルチスレッドでインデックスを利用している場合に不具合が生じる可能性がある不具合を修正した。
(15)jp.ossc.nimbus.service.http.proxy.HttpResponseの不具合を修正
レスポンスを圧縮した場合に、圧縮前のContent-Lengthを設定している不具合を修正した。
(16)jp.ossc.nimbus.service.keepalive.ClusterServiceの不具合を修正
・メンバ変更中に、ConcurrentModificationExceptionが発生する不具合を修正した。
・ハートビートに失敗してリトライ回数を超えると、それ以降リトライしなくなる不具合を修正した。
・メンバーのオプション情報が消える場合がある不具合を修正した。
(17)jp.ossc.nimbus.service.publish.ClusterClientConnectionImplの不具合を修正
setReceiveOwnMessage(true)の場合に、自身からのメッセージが受信できない不具合を修正した。
(18)jp.ossc.nimbus.service.publish.tcp.ClientConnectionImplの不具合を修正
直列化時に、ConcurrentModificationExceptionが発生する場合がある不具合を修正した。
(19)jp.ossc.nimbus.service.publish.udp.ConnectionFactoryServiceの不具合を修正
getClientReconnectCount()>0の場合、serverPortを必ず指定しなければ起動できない不具合を修正した。
(20)jp.ossc.nimbus.service.queue.DistributedQueueServiceの不具合を修正
remove(Object)しても、正しく削除されない事がある不具合を修正した。
(21)jp.ossc.nimbus.service.scheduler2.BeanFlowScheduleExecutorServiceの不具合を修正
Schedule#setOutput()で設定しても、フローの戻り値で、nullを返すと、setOutput(null)されてしまう不具合を修正した。
(22)jp.ossc.nimbus.service.scheduler2.ConcentrateScheduleExecutorServiceの不具合を修正
ConcentrateRequestの宛先パスが、OS依存で正しく処理できない場合がある不具合を修正した
(23)jp.ossc.nimbus.service.scheduler2.FileConcentrateBackupManagerServiceの不具合を修正
バックアップをマルチスレッドで実行すると、バックアップディレクトリの作成処理の多重実行により、例外が発生する不具合を修正した。
(24)jp.ossc.nimbus.util.converter.BeanJSONConverterの不具合を修正
・ネストが深いJSON文字列をパースする場合に、パースに失敗する場合がある不具合を修正した。
・宣言された配列の要素型が、DisableClassNameに指定されている場合、JSONフォーマットが不正になる不具合を修正した。
・Object→JSON変換時に、Recordのdouble型のプロパティを、出力変換で数字以外の文字列に変換すると、数値扱いで"で囲まずに出力する不具合を修正した。
・setOutputNullProperty(true)の場合に、不要なカンマが出力される場合がある不具合を修正した。
(25)jp.ossc.nimbus.util.converter.DataSetJSONConverterの不具合を修正
・DataSet→JSON変換時に、boolean型のプロパティを、出力変換で文字列に変換するとClassCastExceptionが発生する不具合を修正した。
・DataSet→JSON変換時に、double型のプロパティを、出力変換で数字以外の文字列に変換すると、数値扱いで"で囲まずに出力する不具合を修正した。
・setOutputNullProperty(true)の場合に、不要なカンマが出力される場合がある不具合を修正した。
2. 変更
(1)jp.ossc.nimbus.beans.BeanPropertyEditorの変更
nullや空文字がsetAsText()された場合に、nullをsetValue()するように変更した。
(2)jp.ossc.nimbus.beans.BooleanEditorの変更
以下のメソッドを追加した。
・public void setAsTextType(int)
・public int getAsTextType()
(3)jp.ossc.nimbus.beans.NestedPropertyの変更
hashCode()の内部ロジックを変更した。
(4)jp.ossc.nimbus.beans.SimplePropertyの変更
・publicなフィールドに対するアクセスもサポートした。
・以下のメソッドを追加した。
・public Field getField(Class)
・public static SimpleProperty[] getProperties(Object, boolean)
・public static SimpleProperty[] getProperties(Class, boolean)
・public static SimpleProperty[] getFieldProperties(Object)
・public static SimpleProperty[] getFieldProperties(Class)
・public static Set getPropertyNames(Object, boolean)
・public static Set getPropertyNames(Class, boolean)
・public static Set getFieldPropertyNames(Object)
・public static Set getFieldPropertyNames(Class)
・public boolean isWritable(Object)
・public boolean isWritable(Class, Class)
・Recordのインスタンスを引数にgetReadMethod(Object)を呼び出すと、Map#get(Object)メソッドが取得される場合に、Record#getProperty(String)メソッドが取得されるように変更した。
・Recordのインスタンスを引数にgetWriteMethod(Object)を呼び出すと、Map#put(Object, Object)メソッドが取得される場合に、Record#setProperty(String,Object)メソッドが取得されるように変更した。
(5)jp.ossc.nimbus.beans.StringArrayEditorの変更
各要素を"でエスケープした場合、"の外側はトリムするようにした。
(6)jp.ossc.nimbus.beans.dataset.DataSetの変更
以下のメソッドを追加した。
・public void setHeader(String, Header)
(7)jp.ossc.nimbus.beans.dataset.DataSetCodeGeneratorの変更
・以下のメソッドを追加した。
・public void setValidate(boolean)
・public boolean isValidate()
・public void setOutputFileEncoding(String)
・public File[] generate(String, InputStream, File)
・public void loadDefinition(File)
・public void loadDefinition(String, InputStream)
・public DataSetsMetaData getDataSetsMetaData()
・stockKey要素を削除した。
・stockCondition要素を削除した。
・index要素を追加した。
・Recordクラスのプロパティのgetterで、型がbooleanの場合は、メソッド名の接頭辞が"get"ではなく"is"になるように変更した。
・Recordクラス、Headerクラス、RecordListクラスの直列化時に、スキーマ情報を出力しないようにソース生成するようにした。
(8)jp.ossc.nimbus.beans.dataset.Recordの変更
直列化の内部処理をリファクタして、以下のメソッドを追加した。
・protected void writeSchema(ObjectOutput)
・protected void readSchema(ObjectInput)
(9)jp.ossc.nimbus.beans.dataset.RecordListの変更
・以下のメソッドを削除した。
・public void setStockKeySearch(String, String[])
・public String[] getStockKeyNames()
・public String[] getStockKeyPropertyNames(String)
・public int[] getStockKeyPropertyIndexes(String)
・public void removeStockKey(String)
・public void clearStockKey()
・public void setStockSearchCondition(String, String)
・public String[] getStockSearchConditionNames()
・public String getStockSearchCondition(String)
・public void removeStockSearchCondition(String)
・public void clearStockSearchCondition()
・public Record primaryKeySearch(Record)
・public Record[] stockKeySearch(String, Record)
・public RecordList stockSearch(String)
・public void analyzeStockSearchCondition(String)
・public void analyzeStockKey(String)
・以下のメソッドを追加した。
・public void setIndex(String, String[])
・public void setIndex(String, BeanTableIndexKeyFactory)
・public void removeIndex(String)
・public void analyzeIndex()
・public BeanTableView createView()
・public Record searchByPrimaryKey(Record)
・public RecordList searchByKey(Record, String[])
・public RecordList searchByKey(Record, int[])
・public static void sort(List, String[])
・public static void sort(List, int[])
・public static void sort(List, int[], boolean[])
・public static void sort(List, String[], boolean[])
・protected void writeSchema(ObjectOutput)
・protected void readSchema(ObjectInput)
(10)jp.ossc.nimbus.core.ServiceBaseの変更
ServiceBaseSupportインタフェースをimplmentsしないように変更した。
(11)jp.ossc.nimbus.core.ServiceBaseSupportの変更
以下のメソッドを追加した。
・public void setServiceBase(ServiceBase)
(12)jp.ossc.nimbus.daemon.Daemonの変更
以下のメソッドを追加した。
・public void sleep(long, boolean)
(13)jp.ossc.nimbus.daemon.DaemonControlの変更
以下のメソッドを追加した。
・public void resume()
・public void sleep(long, boolean)
(14)jp.ossc.nimbus.io.CSVReaderの変更
setReader(Reader)を2回呼び出すとIOExceptionをthrowしていたのを、throwしないようにした。
(15)jp.ossc.nimbus.io.CSVWriterの変更
setWriter(Writer)を2回呼び出すとIOExceptionをthrowしていたのを、throwしないようにした。
(16)jp.ossc.nimbus.io.FLVReaderの変更
setReader(Reader)を2回呼び出すとIOExceptionをthrowしていたのを、throwしないようにした。
(17)jp.ossc.nimbus.io.FLVWriterの変更
setWriter(Writer)を2回呼び出すとIOExceptionをthrowしていたのを、throwしないようにした。
(18)jp.ossc.nimbus.ioc.ejb.command.SLSBCommandBeanの変更
InterceptorChainFactoryを使用している場合、InterceptorChainから例外がthrowされると、IOCExceptionでラップされて再throwされていたのを、throwされた例外がExceptionの場合は、Command#setException()で例外を設定し、throwしないように変更した。
(19)jp.ossc.nimbus.service.aop.SelectableServletFilterInterceptorChainListServiceの変更
パスとInterceptorChainListサービスのマッピング定義で、順序性を保証できるようにした。
(20)jp.ossc.nimbus.service.aop.interceptor.NoCalledMethodMetricsInterceptorServiceの変更
アスペクト時に、UnsupportedClassVersionErrorが発生した場合は、アスペクト対象から外すようにした。
(21)jp.ossc.nimbus.service.aop.interceptor.servlet.HttpServletResponseDeflateInterceptorServiceの変更
Snappy及びLZ4形式の圧縮が行えるようにした。※
(22)jp.ossc.nimbus.service.aop.interceptor.servlet.SetCharacterEncodingInterceptorServiceの変更
HTTPヘッダにcharsetが設定されている場合は、その文字コードを使用するようにした。
(23)jp.ossc.nimbus.service.aop.interceptor.servlet.StreamExchangeInterceptorServiceの変更
設定されているStreamStringConverterとリクエスト及びレスポンス文字エンコーディングが異なる場合は、StreamStringConverterの文字コードを変更した複製を作成するようにした。
(24)jp.ossc.nimbus.service.connection.DataSourceConnectionFactoryServiceの変更
以下のメソッドを追加した。
・public void setDataSourceServiceName(ServiceName)
・public ServiceName getDataSourceServiceName()
・public void setDataSourceService(DataSource)
・public DataSource getDataSourceService()
(25)jp.ossc.nimbus.service.connection.DefaultPersistentManagerServiceの変更
load()時の出力BeanにClassオブジェクトを指定した場合に、以下のパターンもサポートできるように変更した。
・テーブルの列の型が、CHARまたはVARCHARで、NimbusがサポートするPropertyEditor型のClassオブジェクトを指定する場合
・selectされる列が1つで、指定されたClass型のオブジェクトを取得する場合
(26)jp.ossc.nimbus.service.connection.JDBCConnectionFactoryServiceの変更
setDriverName(String)を必須から、オプションに変更した。
(27)jp.ossc.nimbus.service.context.DefaultContextServiceの変更
destory後に、各メソッドを呼び出すとNullPointerExceptionが発生しないようにした。
(28)jp.ossc.nimbus.service.context.SharedContextの変更
・以下のメソッドを追加した。
・public void setIndex(String, String[])
・public void setIndex(String, BeanTableIndexKeyFactory)
・public void removeIndex(String)
・public void analyzeIndex(String)
・public SharedContextView createView()
・public void updateIfExists(Object, SharedContextValueDifference)
・public void updateIfExists(Object, SharedContextValueDifference, long)
・public void updateLocalIfExists(Object, SharedContextValueDifference)
・public void updateAsynchIfExists(Object, SharedContextValueDifference)
・以下のメソッドを削除した。
・public void setKeyIndex(String, String[])
・public void analyzeKeyIndex(String)
・public Set searchByKeyIndex(String, Object)
・public Set searchByKeyIndexLocal(String, Object)
(29)jp.ossc.nimbus.service.context.SharedContextServiceの変更
・以下のメソッドを追加した。
・public void setIndex(String, String[])
・public void setIndex(String, BeanTableIndexKeyFactory)
・public void removeIndex(String)
・public void analyzeIndex(String)
・public SharedContextView createView()
・public void updateIfExists(Object, SharedContextValueDifference)
・public void updateIfExists(Object, SharedContextValueDifference, long)
・public void updateLocalIfExists(Object, SharedContextValueDifference)
・public void updateAsynchIfExists(Object, SharedContextValueDifference)
・以下のメソッドを削除した。
・public void setKeyIndex(String, String[])
・public void analyzeKeyIndex(String)
・public Set searchByKeyIndex(String, Object)
・public Set searchByKeyIndexLocal(String, Object)
・クライアントモードでインデックスを利用している場合でも、非同期でのputやupdateをサポートできるようにした。
(30)jp.ossc.nimbus.service.context.DistributedSharedContextの変更
以下のメソッドを追加した。
・public int getNodeCount()
・public Set keySetMain()
・public boolean isMain(Object)
(31)jp.ossc.nimbus.service.context.DistributedSharedContextServiceの変更
・以下のメソッドを追加した。
・public int getNodeCount()
・public void setMainDistributed(boolean)
・public boolean isMainDistributed()
・public void setIndex(String, String[])
・public void setIndex(String, BeanTableIndexKeyFactory)
・public void removeIndex(String)
・public void analyzeIndex(String)
・public SharedContextView createView()
・public void setLoadOnStart(boolean)
・public boolean isLoadOnStart()
・public void updateIfExists(Object, SharedContextValueDifference)
・public void updateIfExists(Object, SharedContextValueDifference, long)
・public void updateLocalIfExists(Object, SharedContextValueDifference)
・public void updateAsynchIfExists(Object, SharedContextValueDifference)
・以下のメソッドを削除した。
・public void setKeyIndex(String, String[])
・public void analyzeKeyIndex(String)
・public Set searchByKeyIndex(String, Object)
・public Set searchByKeyIndexLocal(String, Object)
(32)jp.ossc.nimbus.service.context.SharedContextTransactionManagerの変更
・定数フィールドSTATE_BEFORE_BEGINを追加した。
・以下のメソッドを追加した。
・public void updateIfExists(SharedContext, Object, SharedContextValueDifference, long)
(33)jp.ossc.nimbus.service.context.SharedContextTransactionManagerServiceの変更
・commit()及びrollback()の際に、トランザクションが開始されていない場合は、SharedContextTransactionExceptionをthrowするようにした。
・以下のメソッドを追加した。
・public void updateIfExists(SharedContext, Object, SharedContextValueDifference, long)
(34)jp.ossc.nimbus.service.context.SharedContextUpdateListenerの変更
・以下のメソッドを追加した。
・public void onChangeMain(SharedContext)
・public void onChangeSub(SharedContext)
(35)jp.ossc.nimbus.service.ftp.ClusterFTPClientFactoryServiceの変更
クラスタモードがActive-Activeの場合の、ls()とmget()の実装を、クラスタ化されているサーバの1台を対象にして処理する実装から、クラスタ化されている全てのサーバを対象にして処理するように変更した。
(36)jp.ossc.nimbus.service.http.RESTHttpRequestの変更
以下のメソッドを追加した。
・public void setKey(String, String)
(37)jp.ossc.nimbus.service.http.RESTDeleteHttpRequestImplの変更
以下のメソッドを追加した。
・public void setKey(String, String)
(38)jp.ossc.nimbus.service.http.RESTGetHttpRequestImplの変更
以下のメソッドを追加した。
・public void setKey(String, String)
(39)jp.ossc.nimbus.service.http.RESTPostHttpRequestImplの変更
以下のメソッドを追加した。
・public void setKey(String, String)
(40)jp.ossc.nimbus.service.http.RESTPutHttpRequestImplの変更
以下のメソッドを追加した。
・public void setKey(String, String)
(41)jp.ossc.nimbus.service.http.HttpRequestImplの変更
Snappy及びLZ4形式の圧縮が行えるようにした。※
(42)jp.ossc.nimbus.service.http.HttpResponseImplの変更
Snappy及びLZ4形式の解凍が行えるようにした。※
(43)jp.ossc.nimbus.service.io.SerializableExternalizerServiceの変更
Snappy及びLZ4形式の圧縮・解凍が行えるようにした。※
(44)jp.ossc.nimbus.service.ioccall.ExceptionHandlingInterceptorServiceの変更
Commandに設定された例外の場合は、例外を再throwしないようにした。
(45)jp.ossc.nimbus.service.journal.editor.BeanJournalEditorServiceの変更
以下のメソッドを追加した。
・public boolean isFieldOnly()
・public void setFieldOnly(boolean)
・public boolean isFieldOnly(Class)
・public void setFieldOnly(Class, boolean)
・public boolean isAccessorOnly()
・public void setAccessorOnly(boolean)
・public boolean isAccessorOnly(Class)
・public void setAccessorOnly(Class, boolean)
(46)jp.ossc.nimbus.service.keepalive.ClusterServiceの変更
・以下のメソッドを追加した。
・public Set getClientMembers()
・public void setNetworkInterface(String)
・public String getNetworkInterface()
・public void setBindAddress(String)
・public String getBindAddress()
・以下のメソッドのシグニチャを変更した。
・public void setNetworkInterface(String)→public void setNetworkInterfaces(String[])
・public String getNetworkInterface()→public String[] getNetworkInterfaces()
・getUID()の戻り値のGlobalUIDに、optionを設定しないように変更した。
・内部クラスGlobalUIDのsetOption(Object)メソッドをprotectedからpublicに変更した。
(47)jp.ossc.nimbus.service.publish.ClusterClientConnectionImplの変更
getId()で取得されるClusterServiceのIDオブジェクトのオプション情報をnullにするように変更した。
(48)jp.ossc.nimbus.service.publish.DefaultPublishContainerFactoryServiceの変更
以下のメソッドを追加した。
・public void setPublishTimeout(long)
・public long getPublishTimeout()
(49)jp.ossc.nimbus.service.publish.DefaultPublishContainerServiceの変更
以下のメソッドを追加した。
・public void setPublishTimeout(long)
・public long getPublishTimeout()
(50)jp.ossc.nimbus.service.publish.Protocolの変更
以下のメソッドのシグニチャを変更した。
・public void sendMessage(SocketChannel, Object)→public int sendMessage(SocketChannel, Object)
(51)jp.ossc.nimbus.service.publish.RequestConnectionFactoryServiceの変更
・リクエスト送信中に相手サーバがダウンすると、タイムアウトするまで待っていたのを、検知して待機中を解除して応答するように変更した。
・以下のメソッドを追加した。
・public double getAverageSendProcessTime()
・public double getAverageResponseProcessTime()
・public double getAverageReceiveProcessTime()
・public double getAverageReceiveSendProcessTime()
(52)jp.ossc.nimbus.service.publish.RequestServerConnectionの変更
以下のメソッドのシグニチャを変更した。
・public void onResponse(Message, boolean)→public void onResponse(Object, Message, boolean)
(53)jp.ossc.nimbus.service.publish.Servantの変更
以下のメソッドを追加した。
・public void onPublishTimeout()
(54)jp.ossc.nimbus.service.publish.tcp.ConnectionFactoryServiceの変更
・以下のメソッドにシグニチャを変更した。
・public long getAverageSendProcessTime()→public double getAverageSendProcessTime()
・以下のメソッドを追加した。
・public double getAverageSendBytes()
(55)jp.ossc.nimbus.service.publish.tcp.ServerConnectionImplの変更
・以下のメソッドにシグニチャを変更した。
・public long getAverageSendProcessTime()→public double getAverageSendProcessTime()
・以下のメソッドを追加した。
・public double getAverageSendBytes()
(56)jp.ossc.nimbus.service.publish.udp.ClientConnectionImplの変更
・以下のメソッドを追加した。
・public void setUDPBindAddressPropertyName(String)
・public String getUDPBindAddressPropertyName()
・public void setClientUDPNetworkInterfacesPropertyName(String)
・public String getClientUDPNetworkInterfacesPropertyName()
・以下のメソッドのシグニチャを変更した。
・public void setNetworkInterface(String)→public void setNetworkInterfaces(String[])
・public String getNetworkInterface()→public String[] getNetworkInterfaces()
(57)jp.ossc.nimbus.service.publish.udp.ConnectionFactoryServiceの変更
・以下のメソッドを追加した。
・public void setClientUDPBindAddressPropertyName(String)
・public String getClientUDPBindAddressPropertyName()
・public void setNetworkInterface(String)
・public String getNetworkInterface()
・public void setClientUDPNetworkInterfacesPropertyName(String)
・public String getClientUDPNetworkInterfacesPropertyName()
・以下のメソッドのシグニチャを変更した。
・public void setClientAddressPropertyName(String)→public void setClientBindAddressPropertyName(String name)
・public String getClientAddressPropertyName()→public String getClientBindAddressPropertyName()
・public void setNetworkInterface(String)→public void setNetworkInterfaces(String[])
・public String getNetworkInterface()→public String[] getNetworkInterfaces()
(58)jp.ossc.nimbus.service.publish.udp.ServerConnectionImplの変更
以下のコンストラクタのシグニチャを変更した。
・public ServerConnectionImpl(ServerSocket, Externalizer, int, ServiceName, int, ServiceName, ServiceName, InetSocketAddress, InetAddress, int)
→public ServerConnectionImpl(ServerSocket, Externalizer, int, ServiceName, int, ServiceName, ServiceName, InetSocketAddress, NetworkInterface, InetAddress, int)
・public ServerConnectionImpl(ServerSocketChannel, Externalizer, int, ServiceName, int, ServiceName, ServiceName, int, ServiceName, SocketFactory, InetSocketAddress, InetAddress, int)
→public ServerConnectionImpl(ServerSocketChannel, Externalizer, int, ServiceName, int, ServiceName, ServiceName, int, ServiceName, SocketFactory, InetSocketAddress, NetworkInterface, InetAddress, int)
・public ServerConnectionImpl(ServerSocketChannel, Externalizer, int, ServiceName, int, ServiceName, ServiceName, int, ServiceName, SocketFactory, InetSocketAddress, InetAddress, int)
→public ServerConnectionImpl(ServerSocketChannel, Externalizer, int, ServiceName, int, ServiceName, ServiceName, int, ServiceName, SocketFactory, InetSocketAddress, NetworkInterface, InetAddress, int)
・public ServerConnectionImpl(ServerSocketChannel, Externalizer, int, ServiceName, int, ServiceName, ServiceName, int, ServiceName, SocketFactory, InetSocketAddress, InetAddress, int)
→public ServerConnectionImpl(ServerSocketChannel, Externalizer, int, ServiceName, int, ServiceName, ServiceName, int, ServiceName, SocketFactory, InetSocketAddress, NetworkInterface, InetAddress, int)
(59)jp.ossc.nimbus.service.queue.DefaultQueueServiceの変更
・以下のメソッドを追加した。
・public boolean push(Object, long)
・以下のメソッドのシグニチャを変更した。
・public void remove(Object)→public Object remove(Object)
(60)jp.ossc.nimbus.service.queue.DelayQueueServiceの変更
・以下のメソッドを追加した。
・public boolean push(Object, long)
・以下のメソッドのシグニチャを変更した。
・public void remove(Object)→public Object remove(Object)
(61)jp.ossc.nimbus.service.queue.DistributedQueueHandlerContainerServiceの変更
・以下のメソッドを追加した。
・public boolean push(Object, long)
・以下のメソッドのシグニチャを変更した。
・public void remove(Object)→public Object remove(Object)
(62)jp.ossc.nimbus.service.queue.DistributedQueueServiceの変更
・以下のメソッドを追加した。
・public boolean push(Object, long)
・以下のメソッドのシグニチャを変更した。
・public void remove(Object)→public Object remove(Object)
(63)jp.ossc.nimbus.service.queue.Queueの変更
・以下のメソッドを追加した。
・public boolean push(Object, long)
・以下のメソッドのシグニチャを変更した。
・public void remove(Object)→public Object remove(Object)
(64)jp.ossc.nimbus.service.queue.QueueHandlerContainerServiceの変更
・以下のメソッドを追加した。
・public boolean push(Object, long)
・以下のメソッドのシグニチャを変更した。
・public void remove(Object)→public Object remove(Object)
・setQueueHandlerSize(int)で1より大きなスレッド数を設定している場合で、setQueueService(Queue)されていない場合、内部でQueueを生成するようにした。
(65)jp.ossc.nimbus.service.queue.ThreadLocalQueueServiceの変更
・以下のメソッドを追加した。
・public boolean push(Object, long)
・以下のメソッドのシグニチャを変更した。
・public void remove(Object)→public Object remove(Object)
(66)jp.ossc.nimbus.service.scheduler2.AbstractScheduleExecutorServiceの変更
・getKey()のデフォルト値をサービス名からホスト名に変更した。
・リトライにより、再スケジュールする場合に、スケジュールのoutputを反映するようにした。
(67)jp.ossc.nimbus.service.scheduler2.AbstractSchedulerServiceの変更
キューに投入する前に、Schedule#setRetry(false)及びSchedule#setOutput(null)するようにした。
(68)jp.ossc.nimbus.service.scheduler2.CommandScheduleExecutorServiceの変更
タスク名が指定されている場合は、それをコマンドとみなすようにした。
(69)jp.ossc.nimbus.service.scheduler2.ConcentrateBackupManagerの変更
・以下のメソッドを追加した。
・public Object backup(String, Date, String, File, boolean, Object)
・以下のメソッドのシグニチャを変更した。
・public Object backup(String, Date, String, File[], boolean[])→public Object backup(String, Date, String, File, boolean)
(70)jp.ossc.nimbus.service.scheduler2.ConcentrateRequestの変更
集配信種別にFORWARDを追加した。
(71)jp.ossc.nimbus.service.scheduler2.ConcentrateResponseの変更
・以下のメソッドを追加した。
・public void setClean(boolean)
・public boolean isClean()
・public Date getDate(File)
・public String getKey(File)
・public void addFile(File, Date, String)
・public void addFile(File, Date, String, boolean)
・public void addFiles(File[], Date[], String[])
・public void addFiles(File[], Date[], String[], boolean[])
・public void setRootDirectory(String)
・public String getRootDirectory()
・public Object getOutput()
・public void setOutput(Object)
・以下のメソッドのシグニチャを変更した。
・public boolean getFileCompressed()→public boolean getFileCompressed(File)
(72)jp.ossc.nimbus.service.scheduler2.ConcentrateScheduleExecutorServiceの変更
・集配信種別FORWARDに対応した。
・ConcentrateResponse#isClean()がtrueの場合のみ、ローカルファイルを削除するようにした。
・ConcentrateResponseに複数ファイル追加して、setRootDirectory()した場合、ルートディレクトリ以下のディレクトリ構造毎、宛先ディレクトリに移動できるようにした。
・宛先パスがファイルセパレータで終わっている場合は、宛先がディレクトリであると判断するようにした。
・ConcentrateResponse#getOutput()がnullでない場合、Schedule#setOutput(Object)にその戻り値を設定するようにした。
・inputがJSON形式の場合をサポートした。
(73)jp.ossc.nimbus.service.scheduler2.DatabaseScheduleManagerServiceの変更
・スケジュールが自分のスケジュールマスタと同じスケジュールに依存するように依存関係を設定した場合に、自分自身には依存しないように変更した。
・スケジュールマスタテーブルに、カラムTEMPLATE、TEMPLATE_GROUPを追加した。
・スケジュールマスタの開始時刻、終了時刻、リトライ終了時刻に空文字も許容するようにした。
・スケジュールの状態に、「無効化」("D")を追加した。
・動的にスケジュールを追加した場合に、追加したスケジュールよりも未来に、依存しているスケジュールが存在し、待機中でない場合は、依存するようにした。
・findDependedSchedules(String)で、指定したスケジュールが正常終了または無効化されてる場合は、空のリストを返すように動作を変更した。
・findDependedSchedules(String)で、指定したスケジュールに依存しているスケジュールが、指定したスケジュールよりも過去であったり、正常終了、無効化、異常終了、強制終了している場合は、戻り値のリストに含めないように動作を変更した。
・内部クラスScheduleGroupMasterTableSchemaを追加した。
・無効化したスケジュールを遅延監視しないように動作変更した。
・以下のメソッドを追加した。
・public List findScheduleMasters(String)
・public void makeSchedule(Date, ScheduleMaster)
・public void makeSchedule(Date, List)
・public boolean changeState(String, int, int, Object)
・public Map getScheduleMakerMap()
・public List findSchedules(String, String)
・public void setJSONInput(boolean)
・public boolean isJSONInput()
・public DatabaseScheduleManagerService.ScheduleGroupMasterTableSchema getScheduleGroupMasterTableSchema()
・public void setScheduleGroupMasterTableSchema(DatabaseScheduleManagerService.ScheduleGroupMasterTableSchema)
・public List findDependsSchedules(String)
・public void setRetryEndTime(String, Date)
・public void setMaxDelayTime(String, long)
・以下のフィールドを追加した。
・内部クラスScheduleMasterTableSchema#DEFAULT_GROUP_ID
・内部クラスScheduleMasterTableSchema#groupId
・内部クラスScheduleTableSchema#DEFAULT_GROUP_ID
・内部クラスScheduleTableSchema#DEFAULT_MASTER_GROUP_ID
・内部クラスScheduleTableSchema#groupId
・内部クラスScheduleTableSchema#masterGroupId
・以下のフィールドを削除した。
・内部クラスScheduleMasterTableSchema#DEFAULT_TEMPLATE_GROUP
・内部クラスScheduleMasterTableSchema#templateGroup
・内部クラスScheduleMasterTableSchema#DEFAULT_GROUP_ID
・内部クラスScheduleMasterTableSchema#groupId
・内部クラスScheduleTableSchema#DEFAULT_MASTER_GROUP_ID
・内部クラスScheduleTableSchema#masterGroupId
・以下のメソッドのシグニチャを変更した。
・public boolean reschedule(String, Date)→public boolean reschedule(String, Date, Object)
・public void makeSchedule(Date, ScheduleMaster)→public void makeSchedule(Date, ScheduleMaster, String)
・public void makeSchedule(Date, List)→public void makeSchedule(Date, List, String)
・public void makeSchedule(Date)→public List makeSchedule(Date)
・public void makeSchedule(Date,ScheduleMaster,String)→public List makeSchedule(Date,ScheduleMaster,String)
・public void makeSchedule(Date,List,String)→public List makeSchedule(Date,List,String)
・public List findSchedules(Date, Date, int[], String)→public List findSchedules(Date, Date, int[], String, String, String)
・public void addSchedule(String,Date,String,Object,String[],String,String,long,Date,long)→public void addSchedule(String,String,Date,String,Object,String[],String,String,long,Date,long)
・public void addSchedule(String,String,Date,String,Object,String[],String,String,long,Date,long)→public void addSchedule(String,Date,String,Object,String[],String,String,long,Date,long)
・public boolean removeScheduleByMasterId(String)→public boolean removeScheduleByMasterId(String, String)
・public boolean removeSchedule(Date, Date, int[], String)→public boolean removeSchedule(Date, Date, int[], String, String, String)
(74)jp.ossc.nimbus.service.scheduler2.DefaultScheduleの変更
・以下のコンストラクタのシグニチャを変更した。
・public DefaultSchedule(String,Date,String,Object,String[],String,String)→public DefaultSchedule(String,String,Date,String,Object,String[],String,String)
・public DefaultSchedule(String,Date,String,Object,String[],String,String,long,Date,long)→public DefaultSchedule(String,String,Date,String,Object,String[],String,String,long,Date,long)
・public DefaultSchedule(String,String,Date,String,Object,String[],String,String)→public DefaultSchedule(String,String[],Date,String,Object,String[],String,String)
・public DefaultSchedule(String,String,Date,String,Object,String[],String,String,long,Date,long)→public DefaultSchedule(String,String[],Date,String,Object,String[],String,String,long,Date,long)
・以下のメソッドのシグニチャを変更した。
・public String getMasterGroupId()→public String[] getMasterGroupIds()
・public void setMasterGroupId(String)→public void setMasterGroupIds(String[])
・以下のメソッドを追加した。
・public String getGroupId()
・public void setGroupId(String)
・public String getMasterGroupId()
・public void setMasterGroupId(String)
(75)jp.ossc.nimbus.service.scheduler2.DefaultScheduleMakerServiceの変更
makeSchedule()で、引数で指定されたScheduleMasterがisTemplate()=trueの場合は、スケジュールを作成しないようにした。
(76)jp.ossc.nimbus.service.scheduler2.DefaultScheduleManagerServiceの変更
・findDependedSchedules(String)で、指定したスケジュールが正常終了または無効化されてる場合は、空のリストを返すように動作を変更した。
・findDependedSchedules(String)で、指定したスケジュールに依存しているスケジュールが、指定したスケジュールよりも過去であったり、正常終了、無効化、異常終了、強制終了している場合は、戻り値のリストに含めないように動作を変更した。
・以下のメソッドを追加した。
・public List findScheduleMasters(String)
・public void makeSchedule(Date, ScheduleMaster)
・public void makeSchedule(Date, List)
・public boolean changeState(String, int, int, Object)
・public Map getScheduleMakerMap()
・public List findSchedules(String, String)
・public List findDependsSchedules(String)
・public void setRetryEndTime(String, Date)
・public void setMaxDelayTime(String, long)
・以下のフィールドを追加した。
・内部クラスScheduleMasterTableSchema#DEFAULT_GROUP_ID
・内部クラスScheduleMasterTableSchema#groupId
・内部クラスScheduleTableSchema#DEFAULT_GROUP_ID
・内部クラスScheduleTableSchema#DEFAULT_MASTER_GROUP_ID
・内部クラスScheduleTableSchema#groupId
・内部クラスScheduleTableSchema#masterGroupId
・以下のフィールドを削除した。
・内部クラスScheduleMasterTableSchema#DEFAULT_TEMPLATE_GROUP
・内部クラスScheduleMasterTableSchema#templateGroup
・以下のメソッドのシグニチャを変更した。
・public boolean reschedule(String, Date)→public boolean reschedule(String, Date, Object)
・public void makeSchedule(Date, ScheduleMaster)→public void makeSchedule(Date, ScheduleMaster, String)
・public void makeSchedule(Date, List)→public void makeSchedule(Date, List, String)
・public List findSchedules(Date, Date, int[], String)→public List findSchedules(Date, Date, int[], String, String, String)
・public void addSchedule(String,Date,String,Object,String[],String,String,long,Date,long)→public void addSchedule(String,String,Date,String,Object,String[],String,String,long,Date,long)
・public void addSchedule(String,String,Date,String,Object,String[],String,String,long,Date,long)→public void addSchedule(String,String[],Date,String,Object,String[],String,String,long,Date,long)
・public boolean removeScheduleByMasterId(String)→public boolean removeScheduleByMasterId(String, String)
・public boolean removeSchedule(Date, Date, int[], String)→public boolean removeSchedule(Date, Date, int[], String, String, String)
・public void makeSchedule(Date)→public List makeSchedule(Date)
・public void makeSchedule(Date,ScheduleMaster,String)→public List makeSchedule(Date,ScheduleMaster,String)
・public void makeSchedule(Date,List,String)→public List makeSchedule(Date,List,String)
(77)jp.ossc.nimbus.service.scheduler2.DefaultScheduleMasterの変更
・以下のコンストラクタのシグニチャを変更した。
・public DefaultScheduleMaster(String,String,String,Object,Date,boolean,String[],String,String)
→public DefaultScheduleMaster(String,String,String,Object,Date,boolean,String[],String,String,boolean,String)
・public DefaultScheduleMaster(String,String,String,Object,Date,long,Date,long,boolean,String[],String,String)
→public DefaultScheduleMaster(String,String,String,Object,Date,long,Date,long,boolean,String[],String,String,boolean,String)
・public DefaultScheduleMaster(String,String,String,Object,Date,Date,long,long,Date,long,boolean,String[],String,String)
→public DefaultScheduleMaster(String,String,String,Object,Date,Date,long,long,Date,long,boolean,String[],String,String,boolean,String)
・public DefaultScheduleMaster(String,String,String,Object,Date,boolean,String[],String,String,boolean,String)
→public DefaultScheduleMaster(String,String,String,String,Object,Date,boolean,String[],String,String,boolean)
・public DefaultScheduleMaster(String,String,String,Object,Date,long,Date,long,boolean,String[],String,String,boolean,String)
→public DefaultScheduleMaster(String,String,String,String,Object,Date,long,Date,long,boolean,String[],String,String,boolean)
・public DefaultScheduleMaster(String,String,String,Object,Date,Date,long,long,Date,long,boolean,String[],String,String,boolean,String)
→public DefaultScheduleMaster(String,String,String,String,Object,Date,Date,long,long,Date,long,boolean,String[],String,String,boolean)
・public DefaultScheduleMaster(String,String,String,String,Object,Date,boolean,String[],String,String,boolean)
→public DefaultScheduleMaster(String,String[],String,String,Object,Date,boolean,String[],String,String,boolean)
・public DefaultScheduleMaster(String,String,String,String,Object,Date,long,Date,long,boolean,String[],String,String,boolean)
→public DefaultScheduleMaster(String,String[],String,String,Object,Date,long,Date,long,boolean,String[],String,String,boolean)
・public DefaultScheduleMaster(String,String,String,String,Object,Date,Date,long,long,Date,long,boolean,String[],String,String,boolean)
→public DefaultScheduleMaster(String,String[],String,String,Object,Date,Date,long,long,Date,long,boolean,String[],String,String,boolean)
・以下のメソッドのシグニチャを変更した。
・public String getTemplateGroup()→public String getGroupId()
・public String getGroupId()→public String[] getGroupIds()
・public void setGroupId(String)→public void setGroupIds(String[])
・以下のメソッドを追加した。
・public boolean isTemplate()
・public void setTemplate(boolean)
・public String getTemplateGroup()
・public void setTemplateGroup(String)
(78)jp.ossc.nimbus.service.scheduler2.FileConcentrateBackupManagerServiceの変更
・以下のメソッドを追加した。
・public Object backup(String, Date, String, File, boolean, Object)
・以下のメソッドのシグニチャを変更した。
・public Object backup(String, Date, String, File[], boolean[])
→public Object backup(String, Date, String, File, boolean)
(79)jp.ossc.nimbus.service.scheduler2.Scheduleの変更
・スケジュールの状態に、「無効化」("D")を追加した。
・以下のメソッドを追加した。
・public String getGroupId()
・public void setGroupId(String id)
・public String getMasterGroupId()
・public void setRetryEndTime(Date)
・public void setMaxDelayTime(long)
・以下のメソッドのシグニチャを変更した。
・public String getMasterGroupId()→public String[] getMasterGroupIds()
(80)jp.ossc.nimbus.service.scheduler2.ScheduleManagerの変更
・以下のメソッドを追加した。
・public List findScheduleMasters(String)
・public void makeSchedule(Date, ScheduleMaster)
・public void makeSchedule(Date, List)
・public boolean changeState(String, int, int, Object)
・public Map getScheduleMakerMap()
・public List findSchedules(String, String)
・public List findDependsSchedules(String)
・public void setRetryEndTime(String, Date)
・public void setMaxDelayTime(String, long)
・以下のメソッドのシグニチャを変更した。
・public boolean reschedule(String, Date)→public boolean reschedule(String, Date, Object)
・public void makeSchedule(Date,ScheduleMaster)→public void makeSchedule(Date,ScheduleMaster,String)
・public void makeSchedule(Date,List)→public void makeSchedule(Date,List,String)
・public void makeSchedule(Date)→public List makeSchedule(Date)
・public void makeSchedule(Date,ScheduleMaster,String)→public List makeSchedule(Date,ScheduleMaster,String)
・public void makeSchedule(Date,List,String)→public List makeSchedule(Date,List,String)
・public List findSchedules(Date,Date,int[],String)→public List findSchedules(Date,Date,int[],String,String,String)
・public boolean removeScheduleByMasterId(String)→public boolean removeScheduleByMasterId(String,String)
・public boolean removeSchedule(Date,Date,int[],String)→public boolean removeSchedule(Date,Date,int[],String,String,String)
(81)jp.ossc.nimbus.service.scheduler2.ScheduleMasterの変更
・以下のメソッドを追加した。
・public boolean isTemplate()
・public void setTemplate(boolean)
・public String getTemplateGroup()
・public void setInput(Object)
・public void setStartTime(Date)
・public void setEndTime(Date)
・public void setRepeatInterval(long)
・public void setRetryInterval(long)
・public void setRetryEndTime(Date)
・public void setMaxDelayTime(long)
・以下のメソッドのシグニチャを変更した。
・public String getTemplateGroup()→public String[] getGroupIds()
(82)jp.ossc.nimbus.service.transaction.JndiTransactionManagerFactoryServiceの変更
TransactionManagerの取得が内部的に1度しか行わないようにした。
(83)jp.ossc.nimbus.util.converter.AbstractCharacterConverterの変更
StringConverterインタフェースを実装した。
(84)jp.ossc.nimbus.util.converter.BASE64StringConverterの変更
・以下のメソッドを追加した。
・public StreamStringConverter cloneCharacterEncodingToStream(String)
・public StreamStringConverter cloneCharacterEncodingToObject(String)
・以下の定数名を変更した。
・ENCODE_STRING_FROM_STREAM→ENCODE_STRING_TO_STREAM
・DECODE_STRING_FROM_STREAM→DECODE_STRING_TO_STREAM
・ENCODE_STREAM_FROM_STRING→ENCODE_STREAM_TO_STRING
・DECODE_STREAM_FROM_STRING→DECODE_STREAM_TO_STRING
(85)jp.ossc.nimbus.util.converter.BeanExchangeConverterの変更
以下のメソッドを追加した。
・public boolean isFieldOnly()
・public void setFieldOnly(boolean)
・public boolean isFieldOnly(Class)
・public void setFieldOnly(Class, boolean)
・public boolean isAccessorOnly()
・public void setAccessorOnly(boolean)
・public boolean isAccessorOnly(Class)
・public void setAccessorOnly(Class, boolean)
・public boolean isMakeSchema()
・public void setMakeSchema(boolean)
(86)jp.ossc.nimbus.util.converter.BeanJSONConverterの変更
・Beanのプロパティ値を文字列に変換する際に、プロパティの型よりプロパティ値の型を優先するようにした。
・":"の後ろに空白文字が存在する事を許容するようにした。(JSONの規約的には正しくないので、不具合ではない)
・JSONに変換する場合に、スキーマ定義で出力Converterを指定していなくても、Recordのフォーマット機能が有効になるようにした。
・以下のメソッドを追加した。
・public boolean isFieldOnly()
・public void setFieldOnly(boolean)
・public boolean isFieldOnly(Class)
・public void setFieldOnly(Class, boolean)
・public boolean isAccessorOnly()
・public void setAccessorOnly(boolean)
・public boolean isAccessorOnly(Class)
・public void setAccessorOnly(Class, boolean)
・public boolean isFormat()
・public void setFormat(boolean)
・public String getLineSeparator()
・public void setLineSeparator(String)
・public String getIndent()
・public void setIndent(String)
・public boolean isUnicodeEscape()
・public void setUnicodeEscape(boolean)
・public StreamStringConverter cloneCharacterEncodingToStream(String)
・public StreamStringConverter cloneCharacterEncodingToObject(String)
・以下の定数名を変更した。
・OBJECT_FROM_JSON→OBJECT_TO_JSON
・JSON_FROM_OBJECT→JSON_TO_OBJECT
(87)jp.ossc.nimbus.util.converter.BufferedStreamConverterの変更
以下のメソッドを追加した。
・public StreamStringConverter cloneCharacterEncodingToStream(String)
・public StreamStringConverter cloneCharacterEncodingToObject(String)
(88)jp.ossc.nimbus.util.converter.Convertersの変更
以下の定数名を変更した。
・ALPHABET_HANKAKU_FROM_ZENKAKU_STRING→ALPHABET_HANKAKU_TO_ZENKAKU_STRING
・ALPHABET_ZENKAKU_FROM_HANKAKU_STRING→ALPHABET_ZENKAKU_TO_HANKAKU_STRING
・KATAKANA_HANKAKU_FROM_ZENKAKU_STRING→KATAKANA_HANKAKU_TO_ZENKAKU_STRING
・KATAKANA_ZENKAKU_FROM_HANKAKU_STRING→KATAKANA_ZENKAKU_TO_HANKAKU_STRING
・NUMBER_HANKAKU_FROM_ZENKAKU_STRING→NUMBER_HANKAKU_TO_ZENKAKU_STRING
・NUMBER_ZENKAKU_FROM_HANKAKU_STRING→NUMBER_ZENKAKU_TO_HANKAKU_STRING
・SYMBOL_HANKAKU_FROM_ZENKAKU_STRING→SYMBOL_HANKAKU_TO_ZENKAKU_STRING
・SYMBOL_ZENKAKU_FROM_HANKAKU_STRING→SYMBOL_ZENKAKU_TO_HANKAKU_STRING
・KATAKANA_FROM_HIRAGANA_STRING→KATAKANA_TO_HIRAGANA_STRING
・HIRAGANA_FROM_KATAKANA_STRING→HIRAGANA_TO_KATAKANA_STRING
・HANKAKU_FROM_ZENKAKU_STRING→HANKAKU_TO_ZENKAKU_STRING
・ZENKAKU_FROM_HANKAKU_STRING→ZENKAKU_TO_HANKAKU_STRING
・ALPHABET_HANKAKU_FROM_ZENKAKU_CHAR→ALPHABET_HANKAKU_TO_ZENKAKU_CHAR
・ALPHABET_ZENKAKU_FROM_HANKAKU_CHAR→ALPHABET_ZENKAKU_TO_HANKAKU_CHAR
・KATAKANA_HANKAKU_FROM_ZENKAKU_CHAR→KATAKANA_HANKAKU_TO_ZENKAKU_CHAR
・KATAKANA_ZENKAKU_FROM_HANKAKU_CHAR→KATAKANA_ZENKAKU_TO_HANKAKU_CHAR
・NUMBER_HANKAKU_FROM_ZENKAKU_CHAR→NUMBER_HANKAKU_TO_ZENKAKU_CHAR
・NUMBER_ZENKAKU_FROM_HANKAKU_CHAR→NUMBER_ZENKAKU_TO_HANKAKU_CHAR
・SYMBOL_HANKAKU_FROM_ZENKAKU_CHAR→SYMBOL_HANKAKU_TO_ZENKAKU_CHAR
・SYMBOL_ZENKAKU_FROM_HANKAKU_CHAR→SYMBOL_ZENKAKU_TO_HANKAKU_CHAR
・KATAKANA_FROM_HIRAGANA_CHAR→KATAKANA_TO_HIRAGANA_CHAR
・HIRAGANA_FROM_KATAKANA_CHAR→HIRAGANA_TO_KATAKANA_CHAR
・HANKAKU_FROM_ZENKAKU_CHAR→HANKAKU_TO_ZENKAKU_CHAR
・ZENKAKU_FROM_HANKAKU_CHAR→ZENKAKU_TO_HANKAKU_CHAR
(89)jp.ossc.nimbus.util.converter.CustomConverterの変更
・StreamStringConverter及びBindingStreamConverterインタフェースを実装した。
・StringConverter#convert(String)でStringConverter以外のConverterが追加されていても、最終的な変換結果がStringであれば動作するようにした。
・CharacterConverter#convert(Character)でCharacterConverter以外のConverterが追加されていても、最終的な変換結果がCharacterであれば動作するようにした。
・以下のメソッドを追加した。
・public StreamStringConverter cloneCharacterEncodingToStream(String)
・public StreamStringConverter cloneCharacterEncodingToObject(String)
・public String getCharacterEncodingToStream()
・public String getCharacterEncodingToObject()
(90)jp.ossc.nimbus.util.converter.DataSetJSONConverterの変更
・ストリーム→DataSetの変換時で、ネストしたRecordやRecordListのプロパティに対して、null値が指定されている場合に、ネストしたオブジェクトを生成しないようにした。
・JSONに変換する場合に、スキーマ定義で出力Converterを指定していなくても、Recordのフォーマット機能が有効になるようにした。
・以下の定数名を変更した。
・DATASET_FROM_JSON→DATASET_TO_JSON
・JSON_FROM_DATASET→JSON_TO_DATASET
・以下のメソッドを追加した。
・public StreamStringConverter cloneCharacterEncodingToStream(String)
・public StreamStringConverter cloneCharacterEncodingToObject(String)
(91)jp.ossc.nimbus.util.converter.DataSetXMLConverterの変更
・以下の定数名を変更した。
・DATASET_FROM_XML→DATASET_TO_XML
・XML_FROM_DATASET→XML_TO_DATASET
・以下のメソッドを追加した。
・public StreamStringConverter cloneCharacterEncodingToStream(String)
・public StreamStringConverter cloneCharacterEncodingToObject(String)
(92)jp.ossc.nimbus.util.converter.DataSetXpathConverterの変更
以下のメソッドを追加した。
・public StreamStringConverter cloneCharacterEncodingToStream(String)
・public StreamStringConverter cloneCharacterEncodingToObject(String)
・public String getCharacterEncodingToStream()
・public String getCharacterEncodingToObject()
(93)jp.ossc.nimbus.util.converter.DateFormatConverterの変更
以下の定数名を変更した。
・DATE_FROM_STRING→DATE_TO_STRING
・STRING_FROM_DATE→STRING_TO_DATE
(94)jp.ossc.nimbus.util.converter.DecimalFormatConverterの変更
以下の定数名を変更した。
・NUMBER_FROM_STRING→NUMBER_TO_STRING
・STRING_FROM_NUMBER→STRING_TO_NUMBER
(95)jp.ossc.nimbus.util.converter.DOMHTMLConverterの変更
・直列化可能にした。
・以下のメソッドを追加した。
・public StreamStringConverter cloneCharacterEncodingToStream(String)
・public StreamStringConverter cloneCharacterEncodingToObject(String)
・以下の定数名を変更した。
・DOM_FROM_HTML→DOM_TO_HTML
・HTML_FROM_DOM→HTML_TO_DOM
(96)jp.ossc.nimbus.util.converter.FormatConverterの変更
以下の定数名を変更した。
・OBJECT_FROM_STRING→OBJECT_TO_STRING
・STRING_FROM_OBJECT→STRING_TO_OBJECT
(97)jp.ossc.nimbus.util.converter.HankakuZenkakuConverterの変更
以下の定数名を変更した。
・HANKAKU_FROM_ZENKAKU→HANKAKU_TO_ZENKAKU
・ZENKAKU_FROM_HANKAKU→ZENKAKU_TO_HANKAKU
(98)jp.ossc.nimbus.util.converter.KatakanaHiraganaCharacterConverterの変更
以下の定数名を変更した。
・KATAKANA_FROM_HIRAGANA→KATAKANA_TO_HIRAGANA
・HIRAGANA_FROM_KATAKANA→HIRAGANA_TO_KATAKANA
(99)jp.ossc.nimbus.util.converter.KatakanaHiraganaStringConverterの変更
以下の定数名を変更した。
・KATAKANA_FROM_HIRAGANA→KATAKANA_TO_HIRAGANA
・HIRAGANA_FROM_KATAKANA→HIRAGANA_TO_KATAKANA
(100)jp.ossc.nimbus.util.converter.NullConverterの変更
以下の定数名を変更した。
・NULL_FROM_OBJECT→NULL_TO_OBJECT
・OBJECT_FROM_NULL→OBJECT_TO_NULL
(101)jp.ossc.nimbus.util.converter.PropertyEditorConverterの変更
以下のメソッドを追加した。
・public void setEditorProperty(String, Object)
(102)jp.ossc.nimbus.util.converter.RecordListCSVConverterの変更
・以下の定数名を変更した。
・RECORDLIST_FROM_CSV→RECORDLIST_TO_CSV
・CSV_FROM_RECORDLIST→CSV_TO_RECORDLIST
・以下のメソッドを追加した。
・public StreamStringConverter cloneCharacterEncodingToStream(String)
・public StreamStringConverter cloneCharacterEncodingToObject(String)
(103)jp.ossc.nimbus.util.converter.StreamConverterの変更
以下の定数名を変更した。
・OBJECT_FROM_STREAM→OBJECT_TO_STREAM
・STREAM_FROM_OBJECT→STREAM_TO_OBJECT
(104)jp.ossc.nimbus.util.converter.StreamStringConverterの変更
以下のメソッドを追加した。
・public StreamStringConverter cloneCharacterEncodingToStream(String)
・public StreamStringConverter cloneCharacterEncodingToObject(String)
・public String getCharacterEncodingToStream()
・public String getCharacterEncodingToObject()
(105)jp.ossc.nimbus.util.converter.StringStreamConverterの変更
・以下の定数名を変更した。
・STRING_FROM_STREAM→STRING_TO_STREAM
・STREAM_FROM_STRING→STREAM_TO_STRING
・以下のメソッドを追加した。
・public StreamStringConverter cloneCharacterEncodingToStream(String)
・public StreamStringConverter cloneCharacterEncodingToObject(String)
(106)jp.ossc.nimbus.util.crypt.CryptParametersの変更
以下のメソッドを追加した。
・public String encrypt(String, Map, boolean)
(107)jp.ossc.nimbus.util.net.SocketFactoryの変更
以下のメソッドを追加した。
・public void setHostPropertyName(String)
・public String getHostPropertyName()
・public void setLocalHostPropertyName(String)
・public String getLocalHostPropertyName()
・public void setSocketFactory(javax.net.SocketFactory)
(108)jp.ossc.nimbus.beans.Propertyの変更
以下のメソッドを追加した。
・public Class getPropertyType(Class)
・public boolean isReadable(Class)
・public boolean isWritable(Class, Class)
(109)jp.ossc.nimbus.beans.ConcatenatedPropertyの変更
以下のメソッドを追加した。
・public Class getPropertyType(Class)
・public boolean isReadable(Class)
・public boolean isWritable(Class, Class)
(110)jp.ossc.nimbus.beans.NestedPropertyの変更
以下のメソッドを追加した。
・public Class getPropertyType(Class)
・public boolean isReadable(Class)
・public boolean isWritable(Class, Class)
(111)jp.ossc.nimbus.beans.OrPropertyの変更
以下のメソッドを追加した。
・public Class getPropertyType(Class)
・public boolean isReadable(Class)
・public boolean isWritable(Class, Class)
3. 追加
(1)jp.ossc.nimbus.beans.BeanTableを追加
Java Beansをテーブル管理して、インデックス検索などの機能を付加するクラスを新規追加した。
(2)jp.ossc.nimbus.beans.BeanTableIndexを追加
BeanTableのインデックスとなるクラスを新規追加した。
(3)jp.ossc.nimbus.beans.BeanTableIndexManagerを追加
BeanTableのインデックスとなるクラスを新規追加した。
(4)jp.ossc.nimbus.beans.BeanTableViewを追加
BeanTableの検索ビューとなるクラスを新規追加した。
(5)jp.ossc.nimbus.beans.BeanTableIndexKeyFactoryを追加
BeanTableIndexを管理する機能を表すクラスを新規追加した。
(6)jp.ossc.nimbus.beans.ConcatenateIndexKeyFactoryを追加
複合インデックスキーを生成するBeanTableIndexKeyFactoryインタフェース実装クラスを新規追加した。
(7)jp.ossc.nimbus.beans.SubstringIndexKeyFactoryを追加
部分文字列インデックスキーを生成するBeanTableIndexKeyFactoryインタフェース実装クラスを新規追加した。
(8)jp.ossc.nimbus.beans.IndexNotFoundExceptionを追加
BeanTableに指定したインデックスが見つからない事を示す例外クラスを新規追加した。
(9)jp.ossc.nimbus.beans.IndexPropertyAccessExceptionを追加
インデックスとなるプロパティにアクセスできない事を示す例外クラスを新規追加した。
(10)jp.ossc.nimbus.service.aop.interceptor.servlet.HttpServletRequestTransferInterceptorServiceを追加
HttpServletRequestの情報をContextに移すInterceptorサービスを新規追加した。
(11)jp.ossc.nimbus.service.context.SharedContextIndexを追加
SharedContextの2次インデックス機能をBeanTable互換のインデックス機能に置き換えるために、新規追加した。
(12)jp.ossc.nimbus.service.context.SharedContextIndexManagerを追加
SharedContextの2次インデックス機能をBeanTable互換のインデックス機能に置き換えるために、新規追加した。
(13)jp.ossc.nimbus.service.context.SharedContextViewを追加
SharedContextの2次インデックス機能をBeanTable互換のインデックス機能に置き換えるために、新規追加した。
(14)jp.ossc.nimbus.service.http.httpclient.HeadHttpRequestImplを追加
HTTPのHEADメソッドを表現するクラスを新規追加した。
(15)jp.ossc.nimbus.service.http.httpclient.RESTHeadHttpRequestImplを追加
RESTful用のHTTPのHEADメソッドを表現するクラスを新規追加した。
(16)jp.ossc.nimbus.service.jms.ReflectionJMSConnectionFactoryServiceを追加
ConnectionFactoryをリフレクションで生成するJMSConnectionFactoryインタフェース実装サービスを新規追加した。
(17)jp.ossc.nimbus.service.keepalive.AbstractKeepAliveCheckerServiceを追加
KeepAliveCheckerインタフェースの抽象実装クラスを新規追加した。
(18)jp.ossc.nimbus.service.keepalive.jdbc.JDBCKeepAliveCheckerServiceを追加
JDBCサーバの稼動状態をチェックするKeepAliveCheckerインタフェース実装サービスを新規追加した。
(19)jp.ossc.nimbus.service.websocketパッケージを追加※
WebSocketによるクライアントとの非同期通信フレームワークを新規追加した。
(20)jp.ossc.nimbus.service.queue.SharedQueueServiceを追加
JVM間で共有できるQueueインタフェース実装サービスを新規追加した。
(21)jp.ossc.nimbus.service.restパッケージを追加
RESTFulサーバのフレームワークを新規追加した。
(22)jp.ossc.nimbus.service.scpパッケージを追加
SCPプロトコルでファイル転送を行うサービスを新規追加した。
(23)jp.ossc.nimbus.service.scp.ganymedパッケージを追加
SCPプロトコルでファイル転送を行うサービスを新規追加した。
(24)jp.ossc.nimbus.service.sftpパッケージを追加
SFTPプロトコルでファイル転送を行うサービスを新規追加した。
(25)jp.ossc.nimbus.service.sftp.jschパッケージを追加
SFTPプロトコルでファイル転送を行うサービスを新規追加した。
(26)jp.ossc.nimbus.servlet.RestServletを追加
RESTFulサーバのサーブレットを新規追加した。
(27)jp.ossc.nimbus.servlet.ScheduleManagerServletを追加
ScheduleManagerの管理サーブレットを新規追加した。
(28)jp.ossc.nimbus.servlet.WebSocketAuthServletを追加※
WebSocketの接続認証を行うサーブレットを新規追加した。
(29)jp.ossc.nimbus.util.converter.CustomCharacterMapConverterを追加
指定された文字以外の文字を特定の文字に置換するコンバータを新規追加した。
(30)jp.ossc.nimbus.util.converter.DOMXMLConverterを追加
DOM⇔XML変換を行うConverterを新規追加した。
(31)jp.ossc.nimbus.util.net.RMISocketFactoryを追加
RMIソケットのファクトリを新規追加した。
※コンパイルするJDKのバージョンに依存して、機能の有無あり。