各ユーザーのリアルタイムで価格を計算するERPの価格設定モジュールがある場合、パフォーマンスのトレードオフなしに得られる方法はありますか?B2Bアプリケーション用SAP ERPでHybrisの価格設定統合を設計する方法
答えて
キャッシュを維持して、ERPシステムへの複数の呼び出しを回避できます。
CustomCache.java
public class CustomCache
{
@Resource(name = customCacheRegion)
protected CacheAccess customCacheAccess;
//Fetch result from cache
public ResultData readCachedData(final B2BUnitModel customer, final Date date)
{
return (ResultData) customCacheAccess.get(createCacheKey(customer, date));
}
//Update result to cache
public void cacheResult(final B2BUnitModel customer, final Date date,
final ResultData resultData)
{
try
{
customCacheAccess.put(createCacheKey(customer, date), resultData);
}
catch (final SAPHybrisCacheException e)
{
//error
}
}
protected CustomCacheKey createCacheKey(final B2BUnitModel customer, final Date date)
{
return new CustomCacheKey(customer, date);
}
}
キャッシュキー - -
public class CustomCacheKey extends AbstractCacheKey
{
private final B2BUnitModel customer;
private final Date date;
@Override
public int hashCode()
{
final int prime = 31;
int result = super.hashCode();
result = prime * result + ((customer == null) ? 0 : customer.hashCode());
return result;
}
@Override
public boolean equals(final Object obj)
{
if (obj == null)
{
return false;
}
if (!super.equals(obj))
{
return false;
}
final CustomCacheKey customCacheKey = (CustomCacheKey) obj;
if (customer == null)
{
if (customCacheKey.customer != null)
{
return false;
}
}
else if (!customer.equals(customCacheKey.customer))
{
return false;
}
if (date == null)
{
if (customCacheKey.date != null)
{
return false;
}
}
else if (!DateUtils.isSameDay(date, customCacheKey.date))
{
return false;
}
return true;
}
}
ここ
あなたはキャッシュを実装しようとすることができるサンプルコードです
* -spring.xml -
<bean id="customCacheRegion" parent="sapCoreCacheRegion">
<constructor-arg name="name"
value="customCacheRegion" />
<constructor-arg name="maxEntries" value="10000" />
<constructor-arg name="evictionPolicy" value="FIFO" />
<constructor-arg name="statsEnabled" value="true" />
<constructor-arg name="exclusiveComputation" value="false" />
<constructor-arg name="ttlSeconds" value="300" />
</bean>
<bean
class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
<property name="targetObject" ref="cacheRegionsList" />
<property name="targetMethod" value="add" />
<property name="arguments">
<ref bean="customCacheRegion" />
</property>
</bean>
ので、キャッシュを使用すると、キーと値のペアを定義し、キー自体からキャッシュされた値を取得することができ、地図のようなものです。
最後に、ERPシステムを呼び出す前に、特定の顧客(またはお客様のケースのその他の状態)、データがキャッシュ内にあるかどうかを確認してください。使用可能な場合は、キャッシュから直接フェッチします。それ以外の場合はERPシステムを呼び出し、結果をキャッシュに更新します。
ありがとうShreshtt Bhatt。それは本当に私を助けます。 – racha11
@ racha11もしあなたがこの答えを受け入れてください:) –
同じユーザーがエントリ/製品を変更する場合、どのようにそれが最後にキャッシュされた価格を返す必要があるかどうかを区別するか、ERPを呼び出す必要がありますか? –
- 1. HybrisとSAP-ERPの統合
- 2. アプリケーション設計/統合
- 3. SonarQubeとSAP Hybrisを統合する方法
- 4. 重力を保存する方法データベースの合計価格設定
- 5. RFIDをERPと統合する方法
- 6. 法人向けWebアプリケーションの価格設定方法
- 7. ワンタイムパスワード(OTP)オプションとSAP Hybrisの登録フォームを統合する方法は?
- 8. hybris用apache設定
- 9. テーブル価格合計を得る方法
- 10. パンダの価格統計は
- 11. spree 1.0でボリューム価格を設定する方法
- 12. SQLで価格を設定する方法
- 13. EC2価格設定のメカニズム
- 14. Spring統合サーバーのURL設定方法
- 15. アプリ内価格の設定
- 16. キーピング価格・バイ・日統計
- 17. 「ダイナミック」価格設定システム
- 18. ショッピングカートの「合計価格」属性を支払い設定に接続
- 19. PHP/MySQL価格設定ルート
- 20. hybrisプロモーションクーポンが合計価格に適用されていません
- 21. mininetでトラフィック統計を設定する方法は?
- 22. Jqueryを使用して数量オプションリストで総価格を設定する方法
- 23. Spring 3.0アプリケーションでHibernate統計を設定するには?
- 24. Railsの統合テストでセッション変数を設定する方法
- 25. データベース設計ブレーンストーミング:販売価格
- 26. Hybris for B2B - 登録していないお客様には価格設定を非表示にできますか?
- 27. GrailsドメインクラスのERP要件の設計
- 28. FCM Googleの価格設定の説明
- 29. InAppBilling価格設定リストなしProductIDの
- 30. PostgreSQLの段階的価格設定の計算
私はあなたのERPに対して多くの呼び出しを避けるためにキャッシュを実装するといいでしょう。 –