我试图了解这里的区别.我看到一个类已经使用相同的包示例注释了它们:
@Configuration
@EntityScan("some.known.persistence")
@ComponentScan({ "some.known.persistence"})
public class ApiConfig {
}
Run Code Online (Sandbox Code Playgroud)
我理解与API文档的不同之处,但希望详细了解.这也意味着扫描的任何东西@ComponentScan都具有更广泛的可见性和Spring背景,而@EntityScan不是.如果这样使用某些属性@ComponentScan应该已经足够需要在JPA上下文中绑定,不是吗?
我有一类这样的:
@Data
@Component
@ConfigurationProperties("a.config.props")
public class ClientProperties {
private String hostname;
private String port;
private String baseUrl;
private String endpoint;
}
Run Code Online (Sandbox Code Playgroud)
我有数十个属性上下文,但对于 1 行,我必须重复整个课程。是否有一种简单而优雅的方法来拥有一个类并以某种方式动态传递属性上下文(可能是一个数组或类似的东西),以便我使用相同的类。
尝试设置一个简单的Web应用程序调度程序.所以这是我的配置:
<modelVersion>4.0.0</modelVersion>
<groupId>org.springframework</groupId>
<artifactId>scheduler</artifactId>
<version>0.1.0</version>
<packaging>war</packaging>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<version>1.1.6.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>1.1.7.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<version>1.1.7.RELEASE</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.enterprise</groupId>
<artifactId>cdi-api</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
<properties>
<start-class>hello.Application</start-class>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<mainClass>hello.Application</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>spring-releases</id>
<name>Spring Releases</name>
<url>http://repo.spring.io/libs-release</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>spring-releases</id>
<name>Spring Releases</name>
<url>http://repo.spring.io/libs-release</url>
</pluginRepository>
</pluginRepositories>
</project>
Run Code Online (Sandbox Code Playgroud)
我的课程如下所示
@Configuration
@EnableAutoConfiguration
@ComponentScan
public class Application …Run Code Online (Sandbox Code Playgroud) 我是 Jmix 平台的新手。我已将 apache 许可证jmix-all代码导入到 eclipse 中。但我不确定如何从中创建一个新项目。我也知道它支持 IntelliJ 中的插件,但我最喜欢的 IDE 正是我想要的。是否也有eclipse插件。
我有很多响应对象需要提供给 ui。我想要一个模板,这样我就可以做到,到目前为止,下面的代码还没有奏效。
private <T> T getResult(Class clazz){
String fileName = "/path/file.json";
File file = new File(BaseEndpoint.class.getResource(fileName.getFile());
T result = null;
try {
result = mapper.readValue(file, clazz);
} catch (IOException e) {
e.printStackTrace();
}
return result;
}
Run Code Online (Sandbox Code Playgroud) 我有一个日志字符串,例如:
2018-08-02 12:02:25.904 [http-nio-8080-exec-1] WARN o.s.w.s.m.s.DefaultHandlerExceptionResolver.handleTypeMismatch - Failed to bind request element
Run Code Online (Sandbox Code Playgroud)
上面的字符串[http-nio-8080-exec-1]是一个可选字段,它可以出现在一些日志语句中。
我创建了一个 grok 模式,就像网上的一些参考文献一样:
%{TIMESTAMP_ISO8601:timestamp} (\[%{DATA:thread}\])? %{LOGLEVEL:level}%{SPACE}%{JAVACLASS:class}\.%{DATA:method} - %{GREEDYDATA:loggedString}
Run Code Online (Sandbox Code Playgroud)
如果我删除线程名称字符串,它似乎不起作用。
我正在尝试使用filebeat test ouput -e -c filebeat.yml我只看到带有命令列表的帮助消息来测试我的配置。
我实际上是在尝试输出数据文件进行验证。虽然我已经测试过filebeat test config -e -c filebeat.yml了。
我正在使用 Hadoop 2.4.1 和 Flume 1.5.0.1。我的flume-env.sh配置如下
FLUME_CLASSPATH="/var/lib/apache-flume-ng:lib/hadoop-core-1.2.0.jar:lib/hadoop-auth-2.4.1.jar:lib/hadoop-yarn-api-2.4.1.jar:lib/hadoop-mapreduce-client-jobclient-2.4.1.jar:lib/hadoop-mapreduce-client-core-2.4.1.jar:lib/hadoop-common-2.4.1.jar:lib/hadoop-annotations-2.4.1.jar"
Run Code Online (Sandbox Code Playgroud)
对于这些 jar,我又添加了一个 jar,它是在 Flume 的 lib 中可用的 commons-configuration-1.6.jar。我是 Flume 和 Hadoop 的新手。
完整的跟踪如下:
ERROR [conf-file-poller-0] (org.apache.flume.node.PollingPropertiesFileConfigurationProvider$FileWatcherRunnable.run:149) - Unhandled error
java.lang.NoSuchFieldError: IBM_JAVA
at org.apache.hadoop.security.UserGroupInformation.getOSLoginModuleName(UserGroupInformation.java:337)
at org.apache.hadoop.security.UserGroupInformation.<clinit>(UserGroupInformation.java:382)
at org.apache.flume.sink.hdfs.HDFSEventSink.authenticate(HDFSEventSink.java:553)
at org.apache.flume.sink.hdfs.HDFSEventSink.configure(HDFSEventSink.java:272)
at org.apache.flume.conf.Configurables.configure(Configurables.java:41)
at org.apache.flume.node.AbstractConfigurationProvider.loadSinks(AbstractConfigurationProvider.java:418)
at org.apache.flume.node.AbstractConfigurationProvider.getConfiguration(AbstractConfigurationProvider.java:103)
at org.apache.flume.node.PollingPropertiesFileConfigurationProvider$FileWatcherRunnable.run(PollingPropertiesFileConfigurationProvider.java:140)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Run Code Online (Sandbox Code Playgroud) 我想知道为什么只$抛出java.lang.IllegalArgumentException: Illegal group reference异常而不是任何其他特殊字符:
public static void main(String[] args) {
String s = "asdf ok done %test%";
String as=s.replaceAll("%test%", "$dsf");
System.out.println(as);
}
Run Code Online (Sandbox Code Playgroud)
这可以通过\\添加之前添加,$但为什么只有这个角色.
我有一个弹簧启动应用程序,正在尝试为其创建单元测试用例。下面是我要运行的代码,我没有任何配置文件(仅使用注释),因此加载所有配置的主类是ElastSearchBootApplicationclass。由于某种原因,我看到以下错误。
@ComponentScan(basePackages = "com.somename")
@SpringBootApplication
@EnableScheduling
public class ElastSearchBootApplication {
private static final Logger LOG = LoggerFactory.getLogger(ElastSearchBootApplication.class);
public static void main(String[] args) {
SpringApplication.run(ElastSearchBootApplication.class, args);
}
@Autowired
private ElastSearchLogLevel logsSearch;
@Scheduled(fixedRate = 120000)
public void scheduledSearchLogs() {
...
Run Code Online (Sandbox Code Playgroud)
测试类别:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = ElastSearchBootApplication.class)
public class LogSearchTest {
@Mock
private RestHighLevelClient client;
@Mock
private ExecutorService ALERT_POOL;
@Before
public void setUp() throws Exception {
client = mock(RestHighLevelClient.class);
ALERT_POOL = mock(ExecutorService.class);
try {
when(client.search(anyObject())).thenReturn(getResponse());
} catch (Exception e) {
// I …Run Code Online (Sandbox Code Playgroud) 我正在尝试导入 JMX 文件,但它抛出以下异常。我已经下载了 jmeter-plugins-manager-1.3.jar 并按照此处的建议放入了“lib/ext”文件夹中。
