MongoDB ਸ਼ੁਰੂ ਹੋਣ ਤੋਂ ਪਹਿਲਾਂ Flapdoodle ਦਾ ਡਾਊਨਲੋਡ ਪ੍ਰਾਕਸੀ ਸੈੱਟ ਕਰੋ
ਟ੍ਰਾਂਜ਼ੀਸ਼ਨ-ਅਧਾਰਿਤ Flapdoodle ਸੈੱਟਅੱਪ ਵਿੱਚ DownloadPackage ਨੂੰ ਅਨੁਕੂਲਿਤ ਕਰੋ, ਅਤੇ ਯਾਦ ਰੱਖੋ ਕਿ ਗਰਮ ਕੈਸ਼ ਪ੍ਰਾਕਸੀ ਮਾਰਗ ਨੂੰ ਛੱਡ ਸਕਦਾ ਹੈ।
ਜੇ MongoDB ਆਰਕਾਈਵ ਲਿਆਉਂਦੇ ਸਮੇਂ ਸਟਾਰਟਅੱਪ ਫੇਲ੍ਹ ਹੋ ਜਾਵੇ, ਤਾਂ Flapdoodle ਦਾ ਪੈਕੇਜ ਡਾਊਨਲੋਡਰ ਸੰਰਚਿਤ ਕਰੋ। HTTP ਪ੍ਰਾਕਸੀ ਸੂਚੀ ਜਨਤਕ ਡਾਊਨਲੋਡ ਮਾਰਗ ਲਈ ਸੰਭਾਵੀ ਐਂਡਪੁਆਇੰਟ ਦੇ ਸਕਦੀ ਹੈ। ਡੇਟਾਬੇਸ ਕਲਾਇੰਟ ਨੇ ਅਜੇ ਆਪਣਾ ਬਾਅਦ ਵਾਲਾ ਕਨੈਕਸ਼ਨ ਨਹੀਂ ਕੀਤਾ।
ਆਧੁਨਿਕ ਟ੍ਰਾਂਜ਼ੀਸ਼ਨ-ਅਧਾਰਿਤ ਅਨੁਕੂਲਨ ਪ੍ਰਾਕਸੀ ਨੂੰ DownloadPackage ਰਾਹੀਂ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ:
Mongod mongod = new Mongod() {
@Override
public DownloadPackage downloadPackage() {
return DownloadPackage.withDefaults()
.withDownloadConfig(DownloadConfig.defaults()
.withProxyFactory(() -> Proxys.httpProxy("proxy.example", 8080)));
}
};ਚੁਣੀਆਂ Flapdoodle MongoDB ਅਤੇ embedded-process ਲਾਇਬ੍ਰੇਰੀਆਂ ਦੀਆਂ ਕਲਾਸਾਂ ਵਰਤੋ, ਫਿਰ ਇਸ ਅਨੁਕੂਲਿਤ Mongod ਨੂੰ ਐਪਲੀਕੇਸ਼ਨ ਜਾਂ ਟੈਸਟ ਸੈੱਟਅੱਪ ਵਿੱਚ ਵਰਤੋ। ਲੈਮਡਾ HTTP ਪ੍ਰਾਕਸੀ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ; ਆਰਕਾਈਵ URL ਡਾਊਨਲੋਡ ਦਾ ਟਿਕਾਣਾ ਬਣਿਆ ਰਹਿੰਦਾ ਹੈ।
ਸਫਲ ਕੈਸ਼ ਸਟਾਰਟਅੱਪ ਉਹ ਪ੍ਰਾਕਸੀ ਨਹੀਂ ਵਰਤਦਾ। ਪੈਕੇਜ ਟ੍ਰਾਂਜ਼ੀਸ਼ਨ ਪਹਿਲਾਂ ਡਾਊਨਲੋਡ ਕੈਸ਼ ਦੀ ਜਾਂਚ ਕਰਦਾ ਹੈ, ਇਸ ਲਈ ਸਟਾਰਟਅੱਪ ਨਤੀਜੇ ਦਾ ਮੁਲਾਂਕਣ ਕਰਦਿਆਂ ਕੈਸ਼ ਹਿੱਟ ਅਤੇ ਅਸਲ ਆਰਕਾਈਵ ਲਿਆਉਣ ਵਿੱਚ ਫ਼ਰਕ ਕਰੋ।
ਇਹ ਪੈਟਰਨ ਟ੍ਰਾਂਜ਼ੀਸ਼ਨ API ਦਾ ਹੈ। ਪੁਰਾਣੇ RuntimeConfig ਬਿਲਡਰ ਅਤੇ Spring Boot ਦਾ ਸਾਬਕਾ DownloadConfigBuilderCustomizer ਵੱਖਰੇ ਅਨੁਕੂਲਨ ਅਤੇ ਕੈਸ਼-ਲੇਆਉਟ ਇੰਟਰਫੇਸ ਵਰਤਦੇ ਹਨ; ਉਦਾਹਰਨ ਨੂੰ ਐਪਲੀਕੇਸ਼ਨ ਦੀ ਨਿਰਭਰਤਾ ਪੀੜ੍ਹੀ ਨਾਲ ਮਿਲਾਓ।