小编roc*_*loc的帖子

MOXy JAXB:如何从编组中排除元素

我有我的模特:

@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class CustomerTest {

    private Long id;

    @XmlPath("contact-info/billing-address")
    private AddressTest billingAddress;

    @XmlPath("contact-info/shipping-address") 
    private AddressTest shippingAddress;

    @XmlPath("FileHeader/SchemaVersion/text()")
    private String schemaVersion;
}
Run Code Online (Sandbox Code Playgroud)

我填写这样的对象:

private void marshallCustomerTest() {
        try {
            JAXBContext jc = JAXBContext.newInstance(CustomerTest.class);

            CustomerTest customer = new CustomerTest();
            customer.setId(new Long(10));
            customer.setSchemaVersion("3.2");

            AddressTest billingAddress = new AddressTest();
            billingAddress.setStreet("1 Billing Street");
            customer.setBillingAddress(billingAddress);

            AddressTest shippingAddress = new AddressTest();
            shippingAddress.setStreet("2 Shipping Road");
            customer.setShippingAddress(shippingAddress);

            Marshaller m = jc.createMarshaller();
            m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
            m.marshal(customer, System.out);
        } catch (JAXBException jex) {
            jex.printStackTrace();
            log.error(jex);
        }
    }
Run Code Online (Sandbox Code Playgroud)

这产生了下一个XML:

<customerTest xmlns:fe="http://www.facturae.es/Facturae/2009/v3.2/Facturae" …
Run Code Online (Sandbox Code Playgroud)

jaxb eclipselink moxy

9
推荐指数
1
解决办法
8595
查看次数

不需要的 iOS Safari 动画:使用滑动手势进行后退/前进操作

您可以在下一个视频中看到我的意思:https://www.dropbox.com/s/zu0skpfo2zkrex3/ios_safari_gestures.mp4 ?dl=0

在此示例中,当我使用浏览器底部的按钮前进时,一切正常,页面显示正确。然而,当我从右向左滑动前进时,浏览器会执行一些不需要的动画,导致某种闪烁。

视频示例的配置如下:

state: 'statistics-consumptions',
        config: {
          resolve: {
              breadCrumbData:  ['$stateParams', 'EquipmentMainService', function($stateParams, EquipmentMainService) {
                   return EquipmentMainService.getBreadcrumbData($stateParams.equipmentId);
              }]
          },
          url: '/statistics-consumptions/{equipmentId}',
          templateUrl: 'app/statistics/consumption/consumptions-test.html'
        }
Run Code Online (Sandbox Code Playgroud)

如果我消除这个resolve条件,那么闪烁就会消失。为什么会发生这种情况?这是 UI 路由器问题吗?

有趣的是,有些情况下这种情况并没有发生。例如,前面的示例是真实案例的非常简化的版本。接下来是真实案例的配置。

国家

 state: 'statistics-consumptions',
        config: {
          resolve: {
              breadCrumbData:  ['$stateParams', 'EquipmentMainService', function($stateParams, EquipmentMainService) {
                   return EquipmentMainService.getBreadcrumbData($stateParams.equipmentId);
              }],
              initialData: ['$stateParams', 'StatisticsConsumptionsService', function($stateParams, StatisticsConsumptionsService) {
                   return StatisticsConsumptionsService.getInitialResources($stateParams.equipmentId);
              }]
          },
          url: '/statistics-consumptions/{equipmentId}',
          templateUrl: 'app/statistics/consumption/consumptions.html',
          controller: 'StatisticsConsumptionsController',
          controllerAs: 'vmStatisticsConsumptionsView',
          title: 'statistics.consumptions.tab.title',
          ncyBreadcrumb: {
              label: 'breadcrumb.equipment.statistics.consumptions',
              parent: 'statistics-general-view({equipmentId: bcEquipmentId})'
          }
        }
Run Code Online (Sandbox Code Playgroud)

控制器。事实上,重要的部分是 …

angularjs angular-ui-router

5
推荐指数
0
解决办法
813
查看次数

Apache websocket 重定向到 Tomcat:mod_proxy 和 mod_proxy_wstunnel

我正在尝试使用 mod_proxy 和 mod_proxy_wstunnel 模块将流量从 Apache 重定向到 Tomcat。HTTP 流量重定向没有问题,但我无法使用迄今为止尝试过的任何配置成功重定向 websocket 流量。

我正在使用 Apache 2.4.28 和 Tomcat 8.5.13

我必须说,当我在没有 Apache 的情况下使用 Tomcat 时,websockets 工作得非常好:

在此处输入图片说明

适用于此配置的 Tomcat 连接器是下一个:

<Connector URIEncoding="UTF-8"
        compressableMimeType="text/html,text/xml,text/plain,text/css,text/javascript,application/javascript"
        compression="on"
        compressionMinSize="1024"
        connectionTimeout="20000"
        noCompressionUserAgents="gozilla, traviata"
        port="443"
        protocol="org.apache.coyote.http11.Http11AprProtocol"
        SSLEnabled="true"
        scheme="https"
        secure="true">
        <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" />
        <SSLHostConfig>
            <Certificate certificateKeyFile="/opt/tomcat/cert/privkey.pem"
                         certificateFile="/opt/tomcat/cert/cert.pem"
                         certificateChainFile="/opt/tomcat/cert/chain.pem"
                         type="RSA" />
        </SSLHostConfig>
    </Connector>
Run Code Online (Sandbox Code Playgroud)

到此为止已经很清楚了。现在我在 Tomcat 前面启动一个 Apache 服务器,我改变的第一件事是像这样的 Tomcat 连接器:

<Connector URIEncoding="UTF-8"
    compressableMimeType="text/html,text/xml,text/plain,text/css,text/javascript,application/javascript"
    compression="on"
    compressionMinSize="1024"
    connectionTimeout="20000"
    noCompressionUserAgents="gozilla, traviata"
    port="8080"
    protocol="org.apache.coyote.http11.Http11AprProtocol">
    <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" />
</Connector>
Run Code Online (Sandbox Code Playgroud)

在 Apache 中,我成功加载了下一个模块(我已经检查过它们确实已加载):

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module …
Run Code Online (Sandbox Code Playgroud)

apache tomcat mod-proxy websocket mod-proxy-wstunnel

2
推荐指数
1
解决办法
5319
查看次数