You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Once any transaction is invoked, the corresponding transaction serializer will be used for all other transactions as well, regardless of what is set in a @Contract annotation. For example, if we call a method of contract A that uses a default JSONTransactionSerializer, and then call a method of contract B with a custom serializer, then JSONTransactionSerializer will be used in both cases. The reason for this is that within ContractRouter#processRequest creation of an ExecutorService via an ExecutionFactory always returns a singleton instance with one specific transaction serializer:
Fixes the issue of having a single transaction serializer in use for
all contracts regardless of configuration. The issue was due to
having a singleton instance of ExecutionService that had only one
associated serializer. Thus, the first used serializer was also used
for all other transactions. The fix removes this singleton and replaces
it with a ContractRouter field.
hyperledger#225
Signed-off-by: Bogdan Repeta <[email protected]>
Once any transaction is invoked, the corresponding transaction serializer will be used for all other transactions as well, regardless of what is set in a
@Contract
annotation. For example, if we call a method of contract A that uses a default JSONTransactionSerializer, and then call a method of contract B with a custom serializer, then JSONTransactionSerializer will be used in both cases. The reason for this is that withinContractRouter#processRequest
creation of anExecutorService
via anExecutionFactory
always returns a singleton instance with one specific transaction serializer:Thus, the same serializer is used all the time, even though
si
here can be different.The text was updated successfully, but these errors were encountered: