1

I have an issue with the publication of content to Tridion Broker database. I had a configuration in my cd_storage that only "publish" content to local file system, but I would like to publish this content in Tridion Broker database too in order to use it with XPM.

The publish transaction finishes ok, but when I go to the database to review it, I don´t find any content in the ITEMS table or PAGE table.

This is my cd_storage_conf file:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration Version="7.1"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:noNamespaceSchemaLocation="schemas/cd_storage_conf.xsd">
    <Global>
        <ObjectCache Enabled="false">
            <Policy Type="LRU" Class="com.tridion.cache.LRUPolicy">
                <Param Name="MemSize" Value="16mb"/>
            </Policy>
            <Features>
                <Feature Type="DependencyTracker" Class="com.tridion.cache.DependencyTracker"/>
            </Features>
        </ObjectCache>
        <Storages>
            <Storage Type="filesystem" Class="com.tridion.storage.filesystem.FSDAOFactory" Id="defaultFile" defaultFilesystem="false">
                <Root Path="C:\Publicaciones" />
            </Storage>
            <Storage Type="filesystem" Class="com.tridion.storage.filesystem.FSDAOFactory" Id="defaultDataFile" defaultFilesystem="true" defaultStorage="true">
                <Root Path="C:\Publicaciones\data" />
            </Storage>
        </Storages>
    </Global>
    <ItemTypes defaultStorageId="defaultDataFile" cached="false">
        <Item typeMapping="Page" cached="false" storageId="defaultFile"/>
    </ItemTypes>
    <License Location="C:\Program Files (x86)\Tridion\config\cd_licenses.xml"/>        
</Configuration>

Note that I have commented the part of JNDI, because I don´t know what is the correct configuration:

<!-- Configuration example for using a MS SQL based JNDI datasource.
    <Storage Type="persistence" Class="com.tridion.storage.persistence.JPADAOFactory" dialect="MSSQL" Id="defaultdb5" JNDIName="java:comp/env/jdbc/NAME_SERVER_NETOSONE/Tridion_Broker"/>-->

If I uncomment this lines, I get the following error:

Unable to start processing deployment package with transactionId: tcm:0-63-66560 com.tridion.deployer.ProcessingException: Phase: Deployment Processing Phase failed. at com.tridion.deployer.phases.DeployPipelineExecutor.runMainExecutePhase(DeployPipelineExecutor.java:209) [cd_deployer.jar:na] at com.tridion.deployer.phases.DeployPipelineExecutor.doExecute(DeployPipelineExecutor.java:100) [cd_deployer.jar:na] at com.tridion.deployer.phases.DeployPipelineExecutor.execute(DeployPipelineExecutor.java:64) [cd_deployer.jar:na] at com.tridion.deployer.TransactionManager.handleDeployPackage(TransactionManager.java:82) [cd_deployer.jar:na] at com.tridion.deployer.queue.QueueLocationHandler$1.run(QueueLocationHandler.java:180) [cd_deployer.jar:na] at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [na:1.8.0_131] at java.util.concurrent.FutureTask.run(Unknown Source) [na:1.8.0_131] at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [na:1.8.0_131] at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.8.0_131] at java.lang.Thread.run(Unknown Source) [na:1.8.0_131] Caused by: java.lang.RuntimeException: Fatal error, unable to load the StorageManagerFactory at com.tridion.storage.StorageManagerFactory.reloadInstance(StorageManagerFactory.java:91) ~[cd_datalayer.jar:na] at com.tridion.storage.StorageManagerFactory.(StorageManagerFactory.java:56) ~[cd_datalayer.jar:na] at com.tridion.storage.deploy.PageHandler.deploy(PageHandler.java:58) ~[cd_datalayer.jar:na] at com.tridion.deployer.DeploymentHandler.deploy(DeploymentHandler.java:90) ~[cd_datalayer.jar:na] at com.tridion.deployer.modules.PageDeploy.processPage(PageDeploy.java:145) ~[cd_deployer.jar:na] at com.tridion.deployer.modules.PageDeploy.processItem(PageDeploy.java:118) ~[cd_deployer.jar:na] at com.tridion.deployer.SectionVisitor.processSection(SectionVisitor.java:83) ~[cd_deployer.jar:na] at com.tridion.deployer.SectionVisitor.processSection(SectionVisitor.java:87) ~[cd_deployer.jar:na] at com.tridion.deployer.SectionVisitor.processSection(SectionVisitor.java:87) ~[cd_deployer.jar:na] at com.tridion.deployer.SectionVisitor.process(SectionVisitor.java:60) ~[cd_deployer.jar:na] at com.tridion.deployer.Processor.process(Processor.java:109) ~[cd_deployer.jar:na] at com.tridion.deployer.workers.ProcessorWorker.doWork(ProcessorWorker.java:77) ~[cd_deployer.jar:na] at com.tridion.deployer.phases.ProcessingPhase.execute(ProcessingPhase.java:73) ~[cd_deployer.jar:na] at com.tridion.deployer.phases.DeployPipelineExecutor.runMainExecutePhase(DeployPipelineExecutor.java:198) [cd_deployer.jar:na] ... 9 common frames omitted Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'defaultdb5DataSource': Invocation of init method failed; nested exception is javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1455) ~[spring-beans.jar:3.1.0.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519) ~[spring-beans.jar:3.1.0.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) ~[spring-beans.jar:3.1.0.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294) ~[spring-beans.jar:3.1.0.RELEASE] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225) ~[spring-beans.jar:3.1.0.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291) ~[spring-beans.jar:3.1.0.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193) ~[spring-beans.jar:3.1.0.RELEASE] at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1093) ~[spring-context.jar:3.1.0.RELEASE] at com.tridion.storage.util.EntityManagerFactoryBeanConfigurer.configure(EntityManagerFactoryBeanConfigurer.java:55) ~[cd_datalayer.jar:na] at com.tridion.storage.util.SpringContextDynamicConfigurer.configureDatasource(SpringContextDynamicConfigurer.java:87) ~[cd_datalayer.jar:na] at com.tridion.storage.util.SpringContextDynamicConfigurer.configure(SpringContextDynamicConfigurer.java:44) ~[cd_datalayer.jar:na] at com.tridion.storage.configuration.SpringConfigurationLoader.configure(SpringConfigurationLoader.java:26) ~[cd_datalayer.jar:na] at com.tridion.configuration.step.ConfigurationStepLoader.configure(ConfigurationStepLoader.java:47) ~[cd_core.jar:na] at com.tridion.storage.StorageManagerFactory.configure(StorageManagerFactory.java:137) ~[cd_datalayer.jar:na] at com.tridion.services.BaseService.(BaseService.java:113) ~[cd_core.jar:na] at com.tridion.storage.StorageManagerFactory.(StorageManagerFactory.java:104) ~[cd_datalayer.jar:na] at com.tridion.storage.StorageManagerFactory.reloadInstance(StorageManagerFactory.java:84) ~[cd_datalayer.jar:na] ... 22 common frames omitted Caused by: javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial at javax.naming.spi.NamingManager.getInitialContext(Unknown Source) ~[na:1.8.0_131] at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source) ~[na:1.8.0_131] at javax.naming.InitialContext.getURLOrDefaultInitCtx(Unknown Source) ~[na:1.8.0_131] at javax.naming.InitialContext.lookup(Unknown Source) ~[na:1.8.0_131] at org.springframework.jndi.JndiTemplate$1.doInContext(JndiTemplate.java:154) ~[spring-context.jar:3.1.0.RELEASE] at org.springframework.jndi.JndiTemplate.execute(JndiTemplate.java:87) ~[spring-context.jar:3.1.0.RELEASE] at org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:152) ~[spring-context.jar:3.1.0.RELEASE] at org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:178) ~[spring-context.jar:3.1.0.RELEASE] at org.springframework.jndi.JndiLocatorSupport.lookup(JndiLocatorSupport.java:95) ~[spring-context.jar:3.1.0.RELEASE] at org.springframework.jndi.JndiObjectLocator.lookup(JndiObjectLocator.java:105) ~[spring-context.jar:3.1.0.RELEASE] at org.springframework.jndi.JndiObjectFactoryBean.lookupWithFallback(JndiObjectFactoryBean.java:201) ~[spring-context.jar:3.1.0.RELEASE] at org.springframework.jndi.JndiObjectFactoryBean.afterPropertiesSet(JndiObjectFactoryBean.java:187) ~[spring-context.jar:3.1.0.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1514) ~[spring-beans.jar:3.1.0.RELEASE]

I'm using the sqljdbc4 driver (I have 1.8.0_131 java version), and I have configured a Deployer as Windows Service in the same server as the Content Manager Web App.

Is anyone aware of this issue?

  • Can you put the complete cd_storage_conf.xml file? Also specify versions, please – Raúl Escudero Jun 20 '17 at 10:05
4

You don't have anything puiblished in the database, because you haven't configured it to publish to it. You have to indicate

<ItemTypes defaultStorageId="defaultdb" cached="false">

to indicate that the metadata is published to the database.

You don'f have to use JNDI unless you configure it, and you can use the jdbc driver you have mentioned.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.