Nimbusは、SIerによるSIerのためのSI部品ライブラリです。 基盤としてDIコンテナを持ち、サービス(POJO)をホスティングし、アプリケーションに提供します。 また、ライフサイクルの概念があり、サービス間の依存関係の解決を行いながらライフサイクルを制御します。
バグFIX、機能追加、機能改善、動作変更を行いました。
1. バグFIX
(1)jp.ossc.nimbus.beans.dataset.RecordListの不具合を修正
同期化機能の実装が不十分で、同期化できていない不具合を修正した。
(2)jp.ossc.nimbus.service.aop.Compilerの不具合を修正
コマンド引数のパスセパレータがWindowsOSのパスセパレータに依存している不具合を修正した。
(3)jp.ossc.nimbus.service.beancontrol.BeanFlowInvokerAccessImpl2の不具合を修正
・非同期呼び出しを2段階で行うと、フローの実行が強制的にinterruptされる場合がある不具合を修正した。
・while要素の子要素にcontinue要素を書くと、breakしてしまう不具合を修正した。
(4)jp.ossc.nimbus.service.beancontrol.BeanFlowInvokerServerServiceの不具合を修正
非同期呼び出しを2段階で行うと、フローの実行が強制的にinterruptされる場合がある不具合を修正した。
(5)jp.ossc.nimbus.service.beancontrol.BeanFlowMonitorImplの不具合を修正
非同期呼び出しを2段階で行うと、フローの実行が強制的にinterruptされる場合がある不具合を修正した。
(6)jp.ossc.nimbus.service.beancontrol.ClientBeanFlowInvokerFactoryServiceの不具合を修正
サーバ側が処理を受け付けていない状態で、並列で非同期実行を呼び出すと、同じサーバに偏って実行される不具合を修正した。
(7)jp.ossc.nimbus.service.cache.AbstractCacheMapServiceの不具合を修正
同期化が正しく行われていないため、ArrayIndexOutOfBoundsExceptionが発生する可能性がある不具合を修正した。
(8)jp.ossc.nimbus.service.cache.AbstractCacheServiceの不具合を修正
キャッシュアウトされた時に、同期化が正しく行われてない不具合を修正した。
(9)jp.ossc.nimbus.service.cache.LFUOverflowAlgorithmServiceの不具合を修正
Java7のソートアルゴリズムの変更の影響で、overflow()で例外が発生する場合がある不具合を修正した。
(10)jp.ossc.nimbus.service.context.DefaultContextServiceの不具合を修正
setLoadOnStart(true)の場合、サービスの起動時にロード処理が重複して実行される不具合を修正した。
(11)jp.ossc.nimbus.service.context.DistributedSharedContextServiceの不具合を修正
サービスの停止時に、他のノードが先に停止すると例外が発生する場合がある不具合を修正した。
(12)jp.ossc.nimbus.service.context.SharedContextServiceの不具合を修正
・同一JVM上のスレッドがロックを獲得している場合、二重にロックが取得できてしまう不具合を修正した。
・サービスの停止時に、他のノードが先に停止すると例外が発生する場合がある不具合を修正した。
・get()する瞬間にキャッシュアウトすると、nullが取得される場合がある不具合を修正した。
・putAll()がリモートに反映されない不具合を修正した。
・ExecuteThreadSizeを設定しても、ExecuteQueueServiceNameを設定しないと有効にならない不具合を修正した。
(13)jp.ossc.nimbus.service.ftp.ftpclient.FTPClientFactoryServiceの不具合を修正
hostNameが指定されていて、port、bindAddress、localPortが指定されていない場合に、リモートポートが21番にならない不具合を修正した。
(14)jp.ossc.nimbus.service.ftp.ftpclient.FTPClientImplの不具合を修正
passiveモードの切り替えが正しく行われない不具合を修正した。
(15)jp.ossc.nimbus.service.ga.DefaultConvergenceConditionServiceの不具合を修正
適応値が0の場合に、ArithmeticExceptionが発生する不具合を修正した。
(16)jp.ossc.nimbus.service.ga.DefaultGenerationの不具合を修正
setQueueHandlerContainer(QueueHandlerContainer)で、QueueHandlerContainerを設定していない状態で、compete()を実行すると、内部でQueueHandlerContainerを生成する。その際に、内部生成したQueueHandlerContainerの終了処理を行っていない不具合を修正した。
(17)jp.ossc.nimbus.service.interpreter.EvaluateExceptionの不具合を修正
・messageがnullの場合に、直列化するとNullPointerExceptionが発生する不具合を修正した。
・非直列化時にjava.io.OptionalDataExceptionが発生する不具合を修正した。
(18)jp.ossc.nimbus.service.jmx.MBeanWatcherServiceの不具合を修正
・Keyを設定していないTargetが複数存在すると、最後の一つのTargetしか実行されない不具合を修正した。
・EditTargetで、isElementEdit()=trueの場合に、配列を編集すると、元の配列が編集後の配列に置き換わってしまう不具合を修正した。
(19)jp.ossc.nimbus.service.keepalive.ClusterServiceの不具合を修正
瞬間的に連続してクラスタメンバが追加された場合に、メンバを正しく認識できない場合がある不具合を修正した。
(20)jp.ossc.nimbus.service.publish.ClusterClientConnectionImplの不具合を修正
複数のノードを同時にシャットダウンすると、SocketExceptionが発生する場合がある不具合を修正した。
(21)jp.ossc.nimbus.service.publish.MessageReceiverServiceの不具合を修正
・removeMessageListener(MessageListener)を呼び出したときに、接続が切れているコネクションが存在すると、例外が発生する不具合を修正した。
・removeMessageListener()を呼び出しても、内部管理している登録されたサブジェクト名の集合が削除されない不具合を修正した。
(22)jp.ossc.nimbus.service.publish.RequestConnectionFactoryServiceの不具合を修正
リクエスト送信時に、送信例外が発生した場合に、内部に無駄なオブジェクトが残ってしまう不具合を修正した。
(23)jp.ossc.nimbus.service.publish.tcp.MessageImplの不具合を修正
setObject(null)を呼び出しても、getObject()でnullが取得できない場合がある不具合を修正した。
(24)jp.ossc.nimbus.service.publish.udp.ClientConnectionImplの不具合を修正
・接続する2台目以降のクライアントのポート番号が、1台目に接続したクライアントと同じポートになってしまう不具合を修正した。
・配信より先に、補完ポーリングリクエストでデータが取得される不具合を修正した。
(25)jp.ossc.nimbus.service.publish.udp.MessageImplの不具合を修正
setObject(null)を呼び出しても、getObject()でnullが取得できない場合がある不具合を修正した。
(26)jp.ossc.nimbus.service.publish.udp.ServerConnectionImplの不具合を修正
・配信より先に、補完ポーリングリクエストでデータが取得される不具合を修正した。
・CPUが高負荷になる不具合を修正した。
・エラーログの出力時にNullPointerExceptionが発生する不具合を修正した。
(27)jp.ossc.nimbus.service.queue.DistributedQueueHandlerContainerServiceの不具合を修正
エラーが発生し、リトライ回数を超えた場合に、出力するログが間違っていたのを修正した。
2. 変更
(1)jp.ossc.nimbus.beans.DoubleArrayEditorの変更
static定数を参照した変換をサポートした。
(2)jp.ossc.nimbus.beans.DoubleEditorの変更
static定数を参照した変換をサポートした。
(3)jp.ossc.nimbus.beans.FloatArrayEditorの変更
static定数を参照した変換をサポートした。
(4)jp.ossc.nimbus.beans.FloatEditorの変更
static定数を参照した変換をサポートした。
(5)jp.ossc.nimbus.beans.IntArrayEditorの変更
static定数を参照した変換をサポートした。
(6)jp.ossc.nimbus.beans.IntEditorの変更
static定数を参照した変換をサポートした。
(7)jp.ossc.nimbus.beans.LongArrayEditorの変更
static定数を参照した変換をサポートした。
(8)jp.ossc.nimbus.beans.LongEditorの変更
static定数を参照した変換をサポートした。
(9)jp.ossc.nimbus.beans.ShortArrayEditorの変更
static定数を参照した変換をサポートした。
(10)jp.ossc.nimbus.beans.ShortEditorの変更
static定数を参照した変換をサポートした。
(11)jp.ossc.nimbus.beans.StringArrayEditorの変更
static定数を参照した変換をサポートした。
(12)jp.ossc.nimbus.beans.StringEditorの変更
static定数を参照した変換をサポートした。
(13)jp.ossc.nimbus.beans.SimplePropertyの変更
・Recordに対してsetProperty(Object, Class, Object)を第2引数nullで呼び出した場合に、Recordのプロパティ名からPropertySchemaを特定して、型を推察するようにした。
・nativeメソッドも呼び出せるようにした。
(14)jp.ossc.nimbus.beans.IndexedPropertyの変更
・Recordに対してsetProperty(Object, Class, Object)を第2引数nullで呼び出した場合に、Recordのプロパティ名からPropertySchemaを特定して、型を推察するようにした。
・nativeメソッドも呼び出せるようにした。
(15)jp.ossc.nimbus.beans.MappedPropertyの変更
・Recordに対してsetProperty(Object, Class, Object)を第2引数nullで呼び出した場合に、Recordのプロパティ名からPropertySchemaを特定して、型を推察するようにした。
・nativeメソッドも呼び出せるようにした。
(16)jp.ossc.nimbus.beans.dataset.DataSetの変更
以下のコンストラクタを追加した。
・public DataSet(boolean)
・public DataSet(String, boolean)
(17)jp.ossc.nimbus.beans.dataset.DataSetCodeGeneratorの変更
・データセット定義ファイルのrecord、header、recordList、dataSet要素にabstract属性を追加した。
・データセット定義ファイルのdataSet、recordList要素にsynchronized属性を追加した。
(18)jp.ossc.nimbus.beans.dataset.DefaultPropertySchemaの変更
・入力変換及び出力変換で、Converterのオブジェクト指定を行う場合に、Converterに対するプロパティの設定で、プロパティ値の型を指定できるようにした。
・入力変換及び出力変換で、Converterのオブジェクト指定を行う場合に、Converterに対するプロパティの設定で、static定数を参照できるようにした。
(19)jp.ossc.nimbus.beans.dataset.Recordの変更
以下のメソッドを追加した。
・protected void setIndex(int)
・public int getIndex()
・protected void setRecordList(RecordList)
・protected RecordList getRecordList()
(20)jp.ossc.nimbus.beans.dataset.RecordListの変更
・以下のコンストラクタを追加した。
・public RecordList(boolean)
・public RecordList(String, boolean)
・public RecordList(String, String, boolean)
・public RecordList(String, RecordSchema, boolean)
・public RecordList(String, Class, boolean)
・直列化/非直列化実装を変更して、インデックスを張った場合の非直列化の性能を向上させた。
(21)jp.ossc.nimbus.beans.dataset.RecordSchemaの変更
性能向上を行った。
(22)jp.ossc.nimbus.core.ServiceBaseの変更
equals()の実装を、サービス名が設定されていて、サービスマネージャ名が設定されていない場合は、インスタンス参照の等価性で判断するように変更した。
(23)jp.ossc.nimbus.service.aop.interceptor.ExceptionHandlingInterceptorServiceの変更
javax.servlet.ServletExceptionがクラスパスになくても使用できるようにした。
(24)jp.ossc.nimbus.service.aop.interceptor.servlet.HttpServletRequestCheckInterceptorServiceの変更
・setValidContentTypes(String[])で設定されたContent-Typeヘッダの有効性のチェックで、文字列の完全一致だったのを、RFC2616 section14.17の仕様に従った等価性チェックに変更した。
・setInvalidContentTypes(String[])で設定されたContent-Typeヘッダの無効性のチェックで、文字列の完全不一致だったのを、RFC2616 section14.17の仕様に従った非等価性チェックに変更した。
(25)jp.ossc.nimbus.service.beancontrol.BeanFlowInvokerAccessImpl2の変更
・callflow要素の子要素にcatch要素とfinally要素を書けるようにした。
・return要素にnullValue属性を追加した。
(26)jp.ossc.nimbus.service.beancontrol.ClientBeanFlowInvokerFactoryServiceの変更
・createFlow(String, String, boolean)呼び出し時に、指定されたフローが見つからない場合や、RMIに失敗した場合に、InvalidConfigurationExceptionをthrowしていたのを、BeanFlowRemoteExceptionをthrowするように変更した。
・リモートのBeanFlowInvokerの各メソッドの呼び出しで、RemoteExceptionが発生した場合に無視していたのを、BeanFlowRemoteExceptionをthrowするように変更した。
・リモートのBeanFlowInvokerの各メソッドの呼び出しで、NoSuchBeanFlowIdExceptionが発生した場合に無視していたのを、throwするように変更した。
(27)jp.ossc.nimbus.service.cache.DefaultOverflowControllerServiceの変更
・以下のメソッドを追加した。
・public void setOverflowNewAdding(boolean)
・public boolean isOverflowNewAdding()
・あふれ制御を行う時にOverflowValidator#remove()を呼ばないようにした。
・isValidateByOverflow=trueの状態で、OverflowAlgorithm#overflow()の戻り値が前回の戻り値と同じ場合は、無限ループになる可能性があるため、あふれ制御を中止するようにした。
(28)jp.ossc.nimbus.service.codemaster.CodeMasterServiceの変更
以下のメソッドを追加した。
・public void setPersistDir(String)
・public String getPersistDir()
・public void setLoadOnStart(boolean)
・public boolean isLoadOnStart()
・public void setSaveOnStop(boolean)
・public boolean isSaveOnStop()
・public void save()
・public boolean save(String)
・public void load()
・public boolean load(String key)
・public void clearPersist()
(29)jp.ossc.nimbus.service.context.DatabaseContextStoreServiceの変更
・以下のメソッドを追加した。
・public void setKeyFetchSize(int)
・public void setSynchronizedRecordList(boolean)
・putAll()を使用する事で、ロードを高速化した。
(30)jp.ossc.nimbus.service.context.DistributedSharedContextの変更
以下のメソッドを追加した。
・public Object executeInterpretQuery(String, String, Map)
・public Object executeInterpretQuery(String, String, Map, long)
(31)jp.ossc.nimbus.service.context.DistributedSharedContextServiceの変更
・putAll()、putAllAsynch()を高速化した。
・以下のメソッドを追加した。
・public List getMemberIdList()
・public Set getClientMemberIdSet()
・public Set getServerMemberIdSet()
・public Object executeInterpretQuery(String, String, Map)
・public Object executeInterpretQuery(String, String, Map, long)
・public void setParallelRequestThreadSize(int)
・public int getParallelRequestThreadSize()
・public void setParallelRequestQueueServiceName(ServiceName)
・public ServiceName getParallelRequestQueueServiceName()
・public void setSharedContextTransactionManagerServiceName(ServiceName)
・public ServiceName getSharedContextTransactionManagerServiceName()
(32)jp.ossc.nimbus.service.context.MD5HashSharedContextKeyDistributorServiceの変更
以下のメソッドを追加した。
・public void setKeyProperty(String)
・public String getKeyProperty()
(33)jp.ossc.nimbus.service.context.SharedContextの変更
以下のメソッドを追加した。
・public List getMemberIdList()
・public Set getClientMemberIdSet()
・public Set getServerMemberIdSet()
・public void load(long)
・public void loadKey(long)
・public void load(Object, long)
・public void save(long)
・public void save(Object, long)
(34)jp.ossc.nimbus.service.context.SharedContextKeyDistributorの変更
以下のメソッドのシグニチャを変更した。
・public int selectDataNodeIndex(Object, int)
→public int selectDataNodeIndex(Object, int) throws SharedContextIllegalDistributeException
(35)jp.ossc.nimbus.service.context.SharedContextRecordListの変更
以下のコンストラクタを追加した。
・public SharedContextRecordList(boolean)
・public SharedContextRecordList(String, boolean)
・public SharedContextRecordList(String, String, boolean)
・public SharedContextRecordList(String, RecordSchema, boolean)
・public SharedContextRecordList(String, Class, boolean)
(36)jp.ossc.nimbus.service.context.SharedContextServiceの変更
以下のメソッドを追加した。
・public List getMemberIdList()
・public Set getClientMemberIdSet()
・public Set getServerMemberIdSet()
・public void setSharedContextTransactionManagerServiceName(ServiceName)
・public ServiceName getSharedContextTransactionManagerServiceName()
(37)jp.ossc.nimbus.service.context.SharedContextValueDifferenceSupportの変更
以下のメソッドを追加した。
・public Object clone()
(38)jp.ossc.nimbus.service.ga.Geneの変更
以下のメソッドを追加した。
・public boolean isCrossover()
・public boolean isMutate()
(39)jp.ossc.nimbus.service.ga.AbstractGeneの変更
以下のメソッドを追加した。
・public boolean isCrossover()
・public boolean isMutate()
(40)jp.ossc.nimbus.service.ga.BooleanGeneの変更
以下のメソッドを追加した。
・public boolean isCrossover()
・public boolean isMutate()
(41)jp.ossc.nimbus.service.ga.ComplexGeneの変更
以下のメソッドを追加した。
・public boolean isCrossover()
・public boolean isMutate()
(42)jp.ossc.nimbus.service.ga.DoubleGeneの変更
以下のメソッドを追加した。
・public boolean isCrossover()
・public boolean isMutate()
(43)jp.ossc.nimbus.service.ga.FloatGeneの変更
以下のメソッドを追加した。
・public boolean isCrossover()
・public boolean isMutate()
(44)jp.ossc.nimbus.service.ga.IntegerGeneの変更
以下のメソッドを追加した。
・public boolean isCrossover()
・public boolean isMutate()
(45)jp.ossc.nimbus.service.ga.LongGeneの変更
以下のメソッドを追加した。
・public boolean isCrossover()
・public boolean isMutate()
(46)jp.ossc.nimbus.service.ga.Genomの変更
以下のメソッドを追加した。
・public boolean isCrossover()
・public boolean isMutate()
(47)jp.ossc.nimbus.service.ga.DefaultGenomの変更
・以下のメソッドを追加した。
・public boolean isCrossover()
・public boolean isMutate()
・以下のメソッドを実装した。
・public boolean equals(Object)
・public int hashCode()
(48)jp.ossc.nimbus.service.ga.DefaultGenerationの変更
・以下のメソッドを追加した。
・public void setSeedSelection(boolean)
・public boolean isSeedSelection()
(49)jp.ossc.nimbus.service.ga.SimpleGeneticAlgorithmServiceの変更
以下のメソッドを追加した。
・public void setSeedSelection(boolean)
・public boolean isSeedSelection()
(50)jp.ossc.nimbus.service.jmx.MBeanWatcherServiceの変更
・内部で保持するcontextをスレッドローカルからインスタンスローカルに変更した。
・メソッドのシグニチャを変更した。
public Map getTargetMap()→public List getTargetList()
(51)jp.ossc.nimbus.service.journal.editor.MethodCallJournalDataの変更
以下のコンストラクタを追加した。
・public MethodCallJournalData(Class, String)
・public MethodCallJournalData(Class, String, Class[])
・public MethodCallJournalData(Class, String, Class[], Object[])
・public MethodCallJournalData(Class, String, Class[], Object[], String)
(52)jp.ossc.nimbus.service.journal.editor.MethodJournalDataの変更
以下のコンストラクタを追加した。
・public MethodJournalData(Class, String)
・public MethodJournalData(Class, String, Class[])
・public MethodJournalData(Class, String, Class[], String)
(53)jp.ossc.nimbus.service.journal.editor.MethodReturnJournalDataの変更
以下のコンストラクタを追加した。
・public MethodReturnJournalData(Class, String)
・public MethodReturnJournalData(Class, String, Class[])
・public MethodReturnJournalData(Class, String, Object)
・public MethodReturnJournalData(Class, String, Class[], Object)
・public MethodReturnJournalData(Class, String, Class[], Object, String)
(54)jp.ossc.nimbus.service.journal.editor.MethodThrowJournalDataの変更
以下のコンストラクタを追加した。
・public MethodThrowJournalData(Class, String, Throwable)
・public MethodThrowJournalData(Class, String, Class[], Throwable)
・public MethodThrowJournalData(Class, String, Class[], Throwable, String)
(55)jp.ossc.nimbus.service.keepalive.ClusterServiceの変更
以下のメソッドを追加した。
・public void setThreadPriority(int)
・public int getThreadPriority()
・public void setAddMemberRetryCount(int)
・public int getAddMemberRetryCount()
(56)jp.ossc.nimbus.service.publish.ClientConnectionの変更
以下のメソッドを追加した。
・public boolean isServerClosed()
(57)jp.ossc.nimbus.service.publish.ClusterClientConnectionFactoryServiceの変更
以下のメソッドを追加した。
・public boolean isServerClosed()
(58)jp.ossc.nimbus.service.publish.ClusterClientConnectionImplの変更
・isStartReceive()とisConnected()で、実体となるConnectionの状態を取得するように動作変更した。
・以下のメソッドを追加した。
・public boolean isServerClosed()
(59)jp.ossc.nimbus.service.publish.DefaultPublishContainerServiceの変更
Servantをガベージするときにログを出力するようにした。
(60)jp.ossc.nimbus.service.publish.DefaultPublisherServiceの変更
・NIO実装を見直した。
・以下のメソッドを追加した。
・public boolean isSocketChannelBlocking()
・public void setSocketChannelBlocking(boolean)
(61)jp.ossc.nimbus.service.publish.DistributedClientConnectionImplの変更
以下のメソッドを追加した。
・public boolean isServerClosed()
(62)jp.ossc.nimbus.service.publish.GroupClientConnectionImplの変更
以下のメソッドを追加した。
・public boolean isServerClosed()
(63)jp.ossc.nimbus.service.publish.Messageの変更
以下のメソッドを追加した。
・public void recycle()
(64)jp.ossc.nimbus.service.publish.MessageReceiverServiceの変更
・内部で生成したQueueHandlerContainer及びDistributedQueueSelectorにサービス名を設定するようにした。
・以下のメソッドを追加した。
・public boolean isServerClosed()
(65)jp.ossc.nimbus.service.publish.RequestConnectionFactoryServiceの変更
・以下のメソッドを追加した。
・public void setResponseErrorRetryMessageId(String)
・public String getResponseErrorRetryMessageId()
・public void setResponseErrorMessageId(String)
・public String getResponseErrorMessageId()
・public void setReadMessageErrorMessageId(String)
・public String getReadMessageErrorMessageId()
・request()で、送信用のServerConnectionに受信者がまだ接続していない場合、接続者が現れ受信開始するまで、待機するようにした。
・以下のメソッドのthrows節を追加した。
・public Message[] request(Message, int, long) throws MessageSendException→public Message[] request(Message, int, long) throws MessageSendException, RequestTimeoutException
・public Message[] request(Message, String, String, int, long) throws MessageSendException→public Message[] request(Message, String, String, int, long) throws MessageSendException, RequestTimeoutException
・request(Message, int, long)、request(Message, String, String, int, long)を呼び出した時に、送信相手がいない場合、または応答が一部返ってこない場合には、RequestTimeoutExceptionをthrowするように変更した。
(66)jp.ossc.nimbus.service.publish.RequestServerConnectionの変更
以下のメソッドのthrows節を追加した。
・public Message[] request(Message, int, long) throws MessageSendException→public Message[] request(Message, int, long) throws MessageSendException, RequestTimeoutException
・public Message[] request(Message, String, String, int, long) throws MessageSendException→public Message[] request(Message, String, String, int, long) throws MessageSendException, RequestTimeoutException
(67)jp.ossc.nimbus.service.publish.tcp.ClientConnectionImplの変更
・以下のメソッドを追加した。
・public void setAcknowledge(boolean)
・public boolean isAcknowledge()
・public void setResponseTimeout(long)
・public long getResponseTimeout()
・public boolean isServerClosed()
・性能向上を行った。
(68)jp.ossc.nimbus.service.publish.tcp.ClientMessageの変更
以下のメソッドを追加した。
・public short getRequestId()
・public void setRequestId(short id)
・public String toString()
(69)jp.ossc.nimbus.service.publish.tcp.ConnectionFactoryServiceの変更
・以下のメソッドを追加した。
・public void setAsynchSendQueueServiceName(ServiceName)
・public ServiceName getAsynchSendQueueServiceName()
・public void setAcknowledge(boolean)
・public boolean isAcknowledge()
・public void setClientResponseTimeout(long)
・public long getClientResponseTimeout()
・性能向上を行った。
(70)jp.ossc.nimbus.service.publish.tcp.MessageImplの変更
・以下のメソッドを追加した。
・public void setMessageType(byte)
・public byte getMessageType()
・以下の定数を追加した。
・public static final byte MESSAGE_TYPE_APPLICATION
・public static final byte MESSAGE_TYPE_SERVER_RESPONSE
・public static final byte MESSAGE_TYPE_SERVER_CLOSE
・以下のメソッドを削除した。
・public void setServerClose(boolean)
・public boolean isServerClose()
・性能向上を行った。
(71)jp.ossc.nimbus.service.publish.tcp.ServerConnectionImplの変更
・NIO実装の見直しを行った
・以下のメソッドを追加した。
・public void setAsynchSendQueueServiceName(ServiceName)
・public ServiceName getAsynchSendQueueServiceName()
・public void setAcknowledge(boolean)
・getReceiveClientIds(Message)を呼び出したときに、相手が受信開始していない場合は、受信クライアントとして含めないようにした。
・送信エラーの原因となる例外を、拾うようにした。
・send()を同期化した。
・性能向上を行った。
(72)jp.ossc.nimbus.service.publish.udp.ClientConnectionImplの変更
・以下のメソッドを追加した。
・public void setAsynchSendQueueServiceName(ServiceName)
・public ServiceName getAsynchSendQueueServiceName()
・public void setAcknowledge(boolean)
・public boolean isAcknowledge()
・public boolean isServerClosed()
・サーバーへの要求をスレッドセーフに送れるようにした。
・性能向上を行った。
(73)jp.ossc.nimbus.service.publish.udp.ConnectionFactoryServiceの変更
以下のメソッドを追加した。
・public Map getNewMessagePollingCountsByClient()
・public void resetNewMessagePollingCountsByClient()
・public void setAsynchSendQueueServiceName(ServiceName)
・public ServiceName getAsynchSendQueueServiceName()
・public void setAcknowledge(boolean)
・public boolean isAcknowledge()
・public void setClientPacketRecycleBufferSize(int)
・public int getClientPacketRecycleBufferSize()
・public void setClientWindowRecycleBufferSize(int)
・public int getClientWindowRecycleBufferSize()
(74)jp.ossc.nimbus.service.publish.udp.MessageIdの変更
・以下のメソッドを追加した。
・public void clear()
・Cloneableを実装した。
(75)jp.ossc.nimbus.service.publish.udp.MessageImplの変更
・以下のメソッドを追加した。
・public void clear()
・public void setClientConnection(ClientConnectionImpl)
・public void setSend(boolean)
・public boolean isSend()
・public void recycle()
・性能向上のために、直列化されるバイト数を削減した。
(76)jp.ossc.nimbus.service.publish.udp.MulticastMessageImplの変更
以下のメソッドを追加した。
・public void clear()
(77)jp.ossc.nimbus.service.publish.udp.RequestReplyMessageの削除
不要になったので削除した。
(78)jp.ossc.nimbus.service.publish.udp.ServerConnectionImplの変更
・以下のメソッドを追加した。
・public long getNewMessagePollingCount()
・public void resetNewMessagePollingCount()
・public void setAsynchSendQueueServiceName(ServiceName)
・public ServiceName getAsynchSendQueueServiceName()
・public void setAcknowledge(boolean)
・NIO実装の見直しを行った
・性能向上を行った。
(79)jp.ossc.nimbus.service.publish.udp.ServerMessageの変更
・以下のメソッドを追加した。
・public short getRequestId()
・public void setRequestId(short id)
・以下の定数を追加した。
・public static final byte MESSAGE_SERVER_RES
(80)jp.ossc.nimbus.service.publish.udp.Windowの変更
・以下のメソッドを追加した。
・public void clear()
・public List getWindows()
・性能向上のために、直列化されるバイト数を削減した。
(81)jp.ossc.nimbus.service.publish.udp.WindowIdの変更
以下のメソッドを追加した。
・public void clear()
(82)jp.ossc.nimbus.service.queue.AsynchContextの変更
以下のメソッドを追加した。
・public void clear()
(83)jp.ossc.nimbus.service.queue.DefaultQueueServiceの変更
内部ロジックを厳密化した。
(84)jp.ossc.nimbus.service.queue.DelayQueueServiceの変更
内部ロジックを厳密化した。
(85)jp.ossc.nimbus.service.queue.DistributedQueueHandlerContainerServiceの変更
以下のメソッドを追加した。
・public void resume()
・public void suspend()
・public boolean isSuspend()
・public long getDepth()
(86)jp.ossc.nimbus.service.queue.QueueHandlerContainerServiceの変更
・以下のメソッドを追加した。
・public void setGarbageQueueOnStop(boolean)
・public boolean isGarbageQueueOnStop()
・public synchronized void resume()
・public synchronized void suspend()
・public boolean isSuspend()
・public long getCount()
・public long getDepth()
・suspend()によって、一時停止できるポイントを増やした。
(87)jp.ossc.nimbus.service.scheduler.DateKeyの変更
NOTをサポートした。
(88)jp.ossc.nimbus.service.scheduler2.AbstractScheduleExecutorServiceの変更
戻りのスケジュールのステートがFAILの場合、スケジュールをFAILさせるようにした。
(89)jp.ossc.nimbus.service.scheduler2.DatabaseScheduleManagerServiceの変更
スケジュール状態の更新時に更新するoutputカラムの型をCLOB、BLOBでも書き込めるようにした。
(90)jp.ossc.nimbus.service.writer.log4j.WriterAppenderWriterServiceの変更
以下のメソッドを追加した。
・public void setSynchronized(boolean)
・public boolean isSynchronized()
(91)jp.ossc.nimbus.servlet.SharedContextServletの変更
・keySet()を取得した時に、keyの型が文字列だった場合、テキストエリアにkeyの文字列をデフォルト表示するようにした。
・ノード数を表示するようにした。
・load()を実行できるようにした。
・load(Object)を実行できるようにした。
・save(Object)を実行できるようにした。
・サーバーノードのノード数を表示するようにした。
・分散状況を表示するようにした。
・クエリ実行のタイムアウトを指定できるようにした。
クエリ実行機能で、DistributedSharedContextの場合、マージクエリを指定できるようにした。
(92)jp.ossc.nimbus.util.converter.DataSetXMLConverterの変更
以下のメソッドを追加した。
・public void setXmlVersion(String)
・public String getXmlVersion()
(93)jp.ossc.nimbus.util.converter.DecimalFormatConverterの変更
以下のメソッドを追加した。
・public void setDecimalFormatProperty(String, Object)
(94)jp.ossc.nimbus.util.crypt.CryptParametersの変更
・有効期限チェックのパラメータ名を変更した。
・有効期限チェックパラメータのパラメータ名をシステムプロパティ-Djp.ossc.nimbus.util.crypt.CryptParameters.oldDateKey=trueで指定することで、旧パラメータ名に戻す機能を追加した。
・コンストラクタで、byte配列の鍵をnullで指定できるようにした。
・暗号化時に初期ベクタが指定されていない場合に、暗黙的に使用された初期ベクタを暗号化文字列に含め、復号化できるようにした。
・復号化の際に、有効期限チェックを行うように指定していて、パラメータマップに日付が含まれていない場合、OverLimitExpiresExceptionをthrowするようにした。
・以下のメソッドを追加した。
・public void setDateKey(String)
・public String getDateKey()
・public void setAlgorithm(String)
・public String getAlgorithm()
・public void setKey(byte[])
・public void setKey(Key)
・public Key getKey()
・public String createHash(String)
・public String encryptString(String)
・public String encryptString(String, String)
・public String decryptString(String)
・public String decryptString(String, String)
・public String decryptString(String, long)
・public String decryptString(String, String, long)
・public String decryptString(String, String, String)
・public String decryptString(String, String, String, long)
・public static String toHexString(byte[])
・public static byte[] toBytes(String)
3. 追加
(1)jp.ossc.nimbus.service.aop.interceptor.IncompatibleExceptionWrapInterceptorServiceを追加
クラス互換性のないバージョン違いの例外をVMを跨いでthrowする場合に、IncompatibleExceptionWrapExeptionにラップしてthrowするInterceptor実装クラスを新規追加した。
(2)jp.ossc.nimbus.service.aop.interceptor.IncompatibleExceptionUnwrapInterceptorServiceを追加
VMを跨いでthrowされたIncompatibleExceptionWrapExeptionをアンラップして、元の例外をthrowするInterceptor実装クラスを新規追加した。
(3)jp.ossc.nimbus.service.aop.interceptor.IncompatibleExceptionWrapExeptionを追加
クラス互換性のないバージョン違いの例外をVMを跨いでthrowする場合に、ラップする例外クラスを新規追加した。
(4)jp.ossc.nimbus.service.beancontrol.interfaces.BeanFlowRemoteExceptionを追加
リモート呼び出しした業務フローで通信例外が発生した時にthrowされる例外クラスを新規追加した。
(5)jp.ossc.nimbus.service.cache.ContextSaveOverflowActionServiceを追加
キャッシュからあふれたキャッシュオブジェクトをコンテキストの永続化機能を使って永続化して、キャッシュから削除するOverflowAction実装クラスを新規追加した。
(6)jp.ossc.nimbus.service.context.SharedContextIllegalDistributeExceptionを追加
分散共有コンテキストの振り分け処理で異常が発生した場合の例外クラスを新規追加した。
(7)jp.ossc.nimbus.service.context.SharedContextTransactionExceptionを追加
共有コンテキストのトランザクション処理で異常が発生した場合の例外クラスを新規追加した。
(8)jp.ossc.nimbus.service.context.SharedContextTransactionManagerを追加
共有コンテキストのトランザクション管理を行うインタフェースを新規追加した。
(9)jp.ossc.nimbus.service.context.SharedContextTransactionManagerを追加
共有コンテキストのトランザクション管理を行うインタフェースを新規追加した。
(10)jp.ossc.nimbus.service.context.SharedContextTransactionManagerServiceを追加
共有コンテキストのトランザクション管理を行うSharedContextTransactionManager実装サービスを新規追加した。
(11)jp.ossc.nimbus.service.ftp.ClusterFTPClientFactoryServiceを追加
FTPサーバをクラスタ化するFTPClientFactory実装サービスを新規追加した。
(12)jp.ossc.nimbus.service.ga.SelectiveIntegerGeneを追加
特定のint値の集合から選択的に値を決めるGene実装クラスを新規追加した。
(13)jp.ossc.nimbus.service.publish.RequestTimeoutExceptionを追加
jp.ossc.nimbus.service.publish.RequestServerConnection#request()メソッドでタイムアウトした場合にthrowする例外クラスを新規追加した。
(14)jp.ossc.nimbus.service.publish.ThinOutFilterを追加
メッセージ送信の間引きを行うフィルターのインタフェースを新規追加した。
(15)jp.ossc.nimbus.service.publish.SubjectThinOutFilterServiceを追加
特定のサブジェクトのメッセージをフィルタするThinOutFilterインタフェース実装サービスを新規追加した。
(16)jp.ossc.nimbus.service.publish.TimeIntervalThinOutFilterServiceを追加
サブジェクトとキー毎に一定間隔でしかメッセージを配信しないようにフィルタするThinOutFilterインタフェース実装サービスを新規追加した。
(17)jp.ossc.nimbus.service.publish.ThinOutServerConnectionFactoryServiceを追加
メッセージ送信の間引きを行うjp.ossc.nimbus.service.publish.ServerConnectionFactoryインタフェースの実装サービスを新規追加した。
(18)jp.ossc.nimbus.service.publish.ThinOutServerConnectionImplを追加
メッセージ送信の間引きを行うjp.ossc.nimbus.service.publish.ServerConnectionインタフェースの実装クラスを新規追加した。
(19)jp.ossc.nimbus.service.scheduler2.CommandScheduleExecutorServiceを追加
コマンドを実行するjp.ossc.nimbus.service.scheduler2.ScheduleExecutorインタフェースの実装サービスを新規追加した。