OSGi 구성 만들기
Azure 저장소 URI 및 SAS 토큰 URI를 지정하기 위해 Azure 포털 구성이라는 사용자 지정 OSGi 구성을 만들었습니다. 이 두 값은 Azure Storage와 통신하기 위해 REST API를 구성하는 데 사용됩니다.
구성 서비스에 대한 전체 코드가 아래에 나와 있습니다
AzurePortalConfiguration
package com.azure.portal.configuration;
import org.osgi.service.metatype.annotations.AttributeDefinition;
import org.osgi.service.metatype.annotations.ObjectClassDefinition;
@ObjectClassDefinition(name = "Azure Portal Configuration", description = "Settings for connecting to Azure Portal")
public @interface AzurePortalConfiguration {
@AttributeDefinition(name = "SAS Token", description = "Enter the SAS Token")
String getSASToken() default "";
@AttributeDefinition(name = "Enter the Storage URI", description = "Enter the Storage URI")
String getStorageURI() default"";
}
AzurePortalConfigurationService
package com.azure.portal.configuration.service;
public interface AzurePortalConfigurationService {
String getStorageURI();
String getSASToken();
}
AzurePortalStorageConfigImpl
package com.azure.portal.configuration.service.impl;
import org.osgi.framework.Constants;
import org.osgi.service.component.annotations.Activate;
import org.osgi.service.component.annotations.Component;
import org.osgi.service.metatype.annotations.Designate;
import com.azure.portal.configuration.service.AzurePortalConfigurationService;
import com.azure.portal.configuration.AzurePortalConfiguration;
@Component(
service = AzurePortalConfigurationService.class,
immediate = true,
property = {
Constants.SERVICE_ID+ "=Azure Portal Config Service",
Constants.SERVICE_DESCRIPTION +"=This service reads values from Azure portal config"
}
)
@Designate(ocd=AzurePortalConfiguration.class)
public class AzurePortalStorageConfigImpl implements AzurePortalConfigurationService {
private AzurePortalConfiguration azurePortalConfiguration;
@Activate
protected void activate(AzurePortalConfiguration configuration) {
System.out.println("##### in activate #####");
this.azurePortalConfiguration = configuration;
}
@Override
public String getStorageURI() {
// TODO Auto-generated method stub
return azurePortalConfiguration.getStorageURI();
}
@Override
public String getSASToken() {
// TODO Auto-generated method stub
return azurePortalConfiguration.getSASToken();
}
}
다음 단계
recommendation-more-help
8de24117-1378-413c-a581-01e660b7163e