問題タブ [aspect]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
128 参照

aop - PostSharp - アスペクト コンストラクターのシリアル化

コンパイル時にアスペクト コンストラクターが呼び出され、アスペクト インスタンスがシリアル化され、実行時に逆シリアル化されることがわかりました。

なぜこれが起こるのですか?アスペクトのコンストラクターを呼び出す代わりに、逆シリアル化を実行する方が高速ですか?

0 投票する
1 に答える
565 参照

java - axis2サービスでaspectjファイルをコンパイルすると、このエラーが見つかりました。

この Web axisService にはデプロイメント エラーがあります。 java.lang.Class.getDeclaredMethods(Class.java:1791) org.apache.axis2.description.java2wsdl.DefaultSchemaGenerator.generateSchema(DefaultSchemaGenerator.java:273) org.apache.axis2.deployment.util.Utils.fillAxisService (Utils.java:468) org.apache.axis2.deployment.ServiceBuilder.populateService(ServiceBuilder.java:388) で org.apache.axis2.deployment.ServiceGroupBuilder.populateServiceGroup(ServiceGroupBuilder.java:101) で org.apache. axis2.deployment.repository.util.ArchiveReader.buildServiceGroup(ArchiveReader.java:109) org.apache.axis2.deployment.repository.util.ArchiveReader.org.apache.axis2.deployment.repository.util.DeploymentFileData.deploy(DeploymentFileData.java:136) で org.apache.axis2.deployment.ServiceDeployer.deploy(ServiceDeployer.java:82) で processServiceGroup(ArchiveReader.java:143) org.apache.axis2.deployment.DeploymentEngine.doDeploy(DeploymentEngine.java:813) で org.apache.axis2.deployment.repository.util.WSInfoList.update(WSInfoList.java:144) で org.apache.axis2.deployment で.RepositoryListener.update(RepositoryListener.java:377) at org.apache.axis2.deployment.RepositoryListener.checkServices(RepositoryListener.java:254) at org.apache.axis2.deployment.DeploymentEngine.loadServices(DeploymentEngine.java:142) org.apache.axis2.context.ConfigurationContextFactory の org.apache.axis2.deployment.WarBasedAxisConfigurator.loadServices(WarBasedAxisConfigurator.java:283)。org.apache.axis2.transport.http.AxisServlet.initConfigContext(AxisServlet.java:584) の createConfigurationContext(ConfigurationContextFactory.java:95) org.apache.axis2.transport.http.AxisServlet.init(AxisServlet.java:454) のorg.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1194) で org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1023) で org.apache.catalina.core.StandardContext.loadOnStartup (StandardContext.java:4917) org.apache.catalina.core.StandardContext.start(StandardContext.java:5324) で com.sun.enterprise.web.WebModule.start(WebModule.java:353) で org.apache. org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:973) の catalina.core.ContainerBase.addChildInternal(ContainerBase.java:989) org.apache.catalina.core.StandardHost.addChild(StandardHost.java: 704) com.sun.com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1232) の enterprise.web.WebContainer.loadWebModule(WebContainer.java:1627) com.sun.enterprise.server.WebModuleDeployEventListener.moduleDeployed(WebModuleDeployEventListener.java: 182) com.sun.enterprise.server.WebModuleDeployEventListener.moduleDeployed(WebModuleDeployEventListener.java:278) com.sun.enterprise.admin.event.AdminEventMulticaster.invokeModuleDeployEventListener(AdminEventMulticaster.java:1005) com.sun.enterprise.admin .event.AdminEventMulticaster.handleModuleDeployEvent(AdminEventMulticaster.java:992) com.sun.enterprise.admin.event.AdminEventMulticaster.processEvent(AdminEventMulticaster.java:470) com.sun.enterprise.admin.event.AdminEventMulticaster.multicastEvent(AdminEventMulticaster) .java:182) com.sun.enterprise.admin.server.core にあります。com.sun.enterprise.deployment.phasing.DeploymentServiceUtils.multicastEvent(DeploymentServiceUtils.java:231) の DeploymentNotificationHelper.multicastEvent(DeploymentNotificationHelper.java:308) com.sun.enterprise.deployment.phasing.ServerDeploymentTarget.sendStartEvent(ServerDeploymentTarget.java: 298) com.sun.enterprise.deployment.phasing.ApplicationStartPhase.runPhase(ApplicationStartPhase.java:132) com.sun.enterprise.deployment.phasing.DeploymentPhase.executePhase(DeploymentPhase.java:108) com.sun.enterprise .deployment.phasing.PEDeploymentService.executePhases(PEDeploymentService.java:966) com.sun.enterprise.deployment.phasing.PEDeploymentService.deploy(PE​​DeploymentService.java:280) com.sun.enterprise.deployment.phasing.PEDeploymentService.deploy (PEDeploymentService.java:298) com.sun.enterprise.admin.mbeans にあります。ApplicationsConfigMBean.deploy(ApplicationsConfigMBean.java:584) の sun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブ メソッド) の sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) の sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: 25) java.lang.reflect.Method.invoke(Method.java:597) com.sun.enterprise.admin.MBeanHelper.invokeOperationInBean(MBeanHelper.java:381) com.sun.enterprise.admin.MBeanHelper.invokeOperationInBean (MBeanHelper.java:364) com.sun.enterprise.admin.config.BaseConfigMBean.invoke(BaseConfigMBean.java:477) com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836) com. sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761) の sun.reflect.GeneratedMethodAccessor17.invoke(不明なソース) の sun.reflect。DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.sun.enterprise.admin.util.proxy.ProxyClass.invoke(ProxyClass.java:90) $Proxy1.invoke(不明なソース) com.sun.enterprise.admin.server.core.jmx.SunoneInterceptor.invoke(SunoneInterceptor.java:304) com.sun.enterprise.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java) :174) com.sun.enterprise.deployment.autodeploy.AutoDeployer.invokeDeploymentService(AutoDeployer.java:583) で com.sun.enterprise.deployment.autodeploy.AutoDeployer.deployJavaEEArchive(AutoDeployer.java:564) で com.sun. enterprise.deployment.autodeploy.AutoDeployer.deploy(AutoDeployer.java:495) at com.sun.enterprise.deployment.autodeploy.AutoDeployer.deployAll(AutoDeployer.java:270) at com.sun.enterprise.deployment.autodeploy.AutoDeployControllerImpl$AutoDeployTask.run(AutoDeployControllerImpl.java:374) で java.util.TimerThread.mainLoop(Timer.java:512) で java.util.TimerThread.run(Timer.java:462) 原因: java.lang.ClassNotFoundException : クラスが見つかりません: org.apache.axis2.deployment.DeploymentClassLoader.findClass(DeploymentClassLoader.java:96) の org.aspectj.runtime.internal.AroundClosure 組織の java.lang.ClassLoader.loadClass(ClassLoader.java:306) .apache.axis2.deployment.DeploymentClassLoader.loadClass(DeploymentClassLoader.java:277) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) ... 68 詳細org.apache.axis2.deployment.DeploymentClassLoader.findClass(DeploymentClassLoader.java:96) の AroundClosure 、org.apache.axis2.deployment.DeploymentClassLoader.loadClass(DeploymentClassLoader. java:277) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) ... 68 詳細org.apache.axis2.deployment.DeploymentClassLoader.findClass(DeploymentClassLoader.java:96) の AroundClosure 、org.apache.axis2.deployment.DeploymentClassLoader.loadClass(DeploymentClassLoader. java:277) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) ... 68 詳細

0 投票する
0 に答える
219 参照

java - 注釈でログを防止する

私のプロジェクトの 1 つで、ログ ファサードとして slf4j を使用しています。特定の Bean プロパティに適用すると、ログが記録されないようにするアノテーションを開発したいと考えています。ログ記録中のみ、「****************」のような値でそのプロパティ値をマスクする必要があります。誰かがそれを行う方法についてアイデアを教えてもらえますか? 春のAOPでやってみました。ポイントカット式では、Bean プロパティで get メソッドが呼び出される前後にアスペクトを呼び出す式を記述しました。しかし、それは無駄に終わった。サンプル Bean コードは次のとおりです。

@NotLoggableこの側面は、注釈が付けられた get* メソッドが error()、warn() などのロガー メソッド内で呼び出された場合にのみ適用されます。

または、次のコードのようにフィールド (プロパティ) に注釈を適用でき、ログ記録が妨げられた場合、それも問題ありません。

これに代わるものはありますか?

アスペクトは私を助けることができますか?

0 投票する
1 に答える
833 参照

java - Spring Bootstrap と Aspect はどのように実装されていますか?

ロギング アスペクトを設定しようとしましたが、その仕組みがわかりません。

私はSpring Web MVCアプリケーションを持っています。このことを考慮 :

LoggingConfiguration を使用した構成クラスのパッケージ:

アスペクト :

log4j.xml (アペンダーが定義されています)

構成が機能しないのはなぜですか?

ありがとう

編集

web.xml は

編集 web.xml に LoggingConfiguration を追加するのを見逃しています。今、私はこれを持っています:

しかし、私はこのメッセージを持っています:

web.xml の行を削除し@Import(LoggingConfiguration.class)て WebConfiguration に追加しようとしましたが、同じメッセージが表示されました。

WebConfiguration は次のとおりです。

編集

完全な stackTrace は次のとおりです。

0 投票する
2 に答える
725 参照

uml - ユースケースに非機能要件を追加することは可能ですか?

私はAOPの初心者です..

アスペクトの候補は非機能要件から..

しかし、ユースケース図に非機能要件を追加することは可能ですか?

そうでない場合、非機能要件を設計するためにどの種類の UML を使用する必要がありますか?

私の目標は、ロギングの側面、キャッシュの側面、および認証の側面を追加することです..あなたの助けのためにthx

0 投票する
2 に答える
2127 参照

java - クライアント プロジェクトのクラスに自動的に適用されるアスペクトを持つ JAR を作成することはできますか?

すべてのメソッド呼び出しをインターセプトするアスペクトを持つ JAR が必要です。

上記が私が持っていて、クライアントに使用してもらいたいアスペクトであるとします。これを JAR にコンパイルし、Maven で使用できるようにします。

これで、クライアントはこの jar を依存関係として使用します。

この成果物 (JAR) には、前述の側面があります。

Maven依存関係を宣言するだけで、アスペクトの作業が可能になりましたか?

重要かもしれないいくつかのこと:

  1. AspectJ (必要に応じておそらく Spring AOP) を使用する予定です。
  2. クライアントは、おそらく通常の Web アプリケーションweb.xmlなどになります。
  3. クライアントはMavenで構築されています
  4. クライアントをできるだけ簡単に構成できるようにしたいと考えています。当初の考えでは、Maven の依存関係で十分でした。
  5. 「アノテーション JAR」には Web フラグメントが含まれるため、ServletContextListenerそこでカスタムを宣言することができます。

何か案は?