我正在使用Spring Batch版本2.2.4.RELEASE我试着用有状态的ItemReader,ItemProcessor和ItemWriter bean编写一个简单的例子.
public class StatefulItemReader implements ItemReader<String> {
private List<String> list;
@BeforeStep
public void initializeState(StepExecution stepExecution) {
this.list = new ArrayList<>();
}
@AfterStep
public ExitStatus exploitState(StepExecution stepExecution) {
System.out.println("******************************");
System.out.println(" READING RESULTS : " + list.size());
return stepExecution.getExitStatus();
}
@Override
public String read() throws Exception {
this.list.add("some stateful reading information");
if (list.size() < 10) {
return "value " + list.size();
}
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
在我的集成测试中,我在一个内部静态java配置类中声明我的bean,如下所示:
@ContextConfiguration
@RunWith(SpringJUnit4ClassRunner.class)
public class SingletonScopedTest {
@Configuration
@EnableBatchProcessing
static class TestConfig {
@Autowired …Run Code Online (Sandbox Code Playgroud) 在python项目上工作,我试图分离源代码和单元测试; 这是项目结构:
MyProject/
MANIFEST.in
README.md
setup.py
source/
__init.py__
my_project/
__init.py__
some_module.py
test/
__init.py__
my_project/
__init.py__
test_some_module.py
Run Code Online (Sandbox Code Playgroud)
这是setup.py文件:
from setuptools import setup, find_packages
setup(
name='my_project',
packages=find_packages(where='./source'),
description='My project to be packaged',
version='1.0.0',
author='me'
install_requires=[
'fastnumbers~=2.0.1',
'numpy~=1.14.1',
'pandas~=0.22.0'
],
extras_require={
'dev': ['check-manifest'],
'test': [
'mock',
'PyHamcrest',
'pytest',
'pytest-cov'
],
}
)
Run Code Online (Sandbox Code Playgroud)
然后,当我运行命令时python3 setup.py sdist,它失败并显示以下输出:
running sdist
running egg_info
writing my_project.egg-info/PKG-INFO
writing requirements to my_project.egg-info/requires.txt
writing dependency_links to my_project.egg-info/dependency_links.txt
writing top-level names to my_project.egg-info/top_level.txt
error: package directory 'my_project' does …Run Code Online (Sandbox Code Playgroud) 我在 Ubuntu 18.04 上使用 docker 19.03.9;docker 守护进程配置为自动启动。当我连接到我的雇主 VPN 时,docker DNS 配置不会更新,除非我重新启动 docker 守护进程。
有没有办法在主机 DNS 配置更改时自动更新 docker DNS 配置?
我的场景:我想从家里ping 公司网络内的服务器(比如server.mycompany.com)。我正在尝试从我的主机(运行 Ubuntu 的笔记本电脑)ping 它,然后从我主机上的容器内
注意:以下示例中所有 IP 地址都被屏蔽了
我创建了一个小的 docker 镜像来测试我的场景:
FROM ubuntu:18.04
RUN apt-get update \
&& apt-get install -yqq iputils-ping
CMD cat /etc/resolv.conf \
&& echo \
&& ping -c 2 server.mycompany.com
Run Code Online (Sandbox Code Playgroud)
然后我建立了这个形象: docker build -t test_dns .
在我的 Ubuntu 笔记本电脑的终端中,我执行以下 3 个命令:
$ cat /etc/resolv.conf
# Dynamic resolv.conf(5) file …Run Code Online (Sandbox Code Playgroud) auto-update ×1
dns ×1
docker ×1
java ×1
packaging ×1
python ×1
setuptools ×1
spring ×1
spring-batch ×1
vpn ×1